diff --git a/docs/dyn/agentregistry_v1.html b/docs/dyn/agentregistry_v1.html
new file mode 100644
index 0000000..3a8c997
--- /dev/null
+++ b/docs/dyn/agentregistry_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="agentregistry_v1.html">Agent Registry API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="agentregistry_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/agentregistry_v1.projects.html b/docs/dyn/agentregistry_v1.projects.html
new file mode 100644
index 0000000..ae4a84d
--- /dev/null
+++ b/docs/dyn/agentregistry_v1.projects.html
@@ -0,0 +1,91 @@
+<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="agentregistry_v1.html">Agent Registry API</a> . <a href="agentregistry_v1.projects.html">projects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="agentregistry_v1.projects.locations.html">locations()</a></code>
+</p>
+<p class="firstline">Returns the locations 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/agentregistry_v1.projects.locations.agents.html b/docs/dyn/agentregistry_v1.projects.locations.agents.html
new file mode 100644
index 0000000..f0f6f0c
--- /dev/null
+++ b/docs/dyn/agentregistry_v1.projects.locations.agents.html
@@ -0,0 +1,341 @@
+<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="agentregistry_v1.html">Agent Registry API</a> . <a href="agentregistry_v1.projects.html">projects</a> . <a href="agentregistry_v1.projects.locations.html">locations</a> . <a href="agentregistry_v1.projects.locations.agents.html">agents</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="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets details of a single Agent.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists Agents in a given project and location.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#search">search(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Searches Agents in a given project and location.</p>
+<p class="toc_element">
+  <code><a href="#search_next">search_next()</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets details of a single Agent.
+
+Args:
+  name: string, Required. Name of the resource (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Agent. &quot;A2A&quot; below refers to the Agent-to-Agent protocol.
+  &quot;agentId&quot;: &quot;A String&quot;, # Output only. A stable, globally unique identifier for agents.
+  &quot;attributes&quot;: { # Output only. Attributes of the Agent. Valid values: * `agentregistry.googleapis.com/system/Framework`: {&quot;framework&quot;: &quot;google-adk&quot;} - the agent framework used to develop the Agent. Example values: &quot;google-adk&quot;, &quot;langchain&quot;, &quot;custom&quot;. * `agentregistry.googleapis.com/system/RuntimeIdentity`: {&quot;principal&quot;: &quot;principal://...&quot;} - the runtime identity associated with the Agent. * `agentregistry.googleapis.com/system/RuntimeReference`: {&quot;uri&quot;: &quot;//...&quot;} - the URI of the underlying resource hosting the Agent, for example, the Reasoning Engine URI.
+    &quot;a_key&quot;: {
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
+  },
+  &quot;card&quot;: { # Full Agent Card payload, often obtained from the A2A Agent Card. # Output only. Full Agent Card payload, when available.
+    &quot;content&quot;: { # Output only. The content of the agent card.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
+    &quot;type&quot;: &quot;A String&quot;, # Output only. The type of agent card.
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time.
+  &quot;description&quot;: &quot;A String&quot;, # Output only. The description of the Agent, often obtained from the A2A Agent Card. Empty if Agent Card has no description.
+  &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the agent, often obtained from the A2A Agent Card.
+  &quot;location&quot;: &quot;A String&quot;, # Output only. The location where agent is hosted. The value is defined by the hosting environment (i.e. cloud provider).
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of an Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
+  &quot;protocols&quot;: [ # Output only. The connection details for the Agent.
+    { # Represents the protocol of an Agent.
+      &quot;interfaces&quot;: [ # Output only. The connection details for the Agent.
+        { # Represents the connection details for an Agent or MCP Server.
+          &quot;protocolBinding&quot;: &quot;A String&quot;, # Required. The protocol binding of the interface.
+          &quot;url&quot;: &quot;A String&quot;, # Required. The destination URL.
+        },
+      ],
+      &quot;protocolVersion&quot;: &quot;A String&quot;, # Output only. The version of the protocol, for example, the A2A Agent Card version.
+      &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the protocol.
+    },
+  ],
+  &quot;skills&quot;: [ # Output only. Skills the agent possesses, often obtained from the A2A Agent Card.
+    { # Represents the skills of an Agent.
+      &quot;description&quot;: &quot;A String&quot;, # Output only. A more detailed description of the skill.
+      &quot;examples&quot;: [ # Output only. Example prompts or scenarios this skill can handle.
+        &quot;A String&quot;,
+      ],
+      &quot;id&quot;: &quot;A String&quot;, # Output only. A unique identifier for the agent&#x27;s skill.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. A human-readable name for the agent&#x27;s skill.
+      &quot;tags&quot;: [ # Output only. Keywords describing the skill.
+        &quot;A String&quot;,
+      ],
+    },
+  ],
+  &quot;uid&quot;: &quot;A String&quot;, # Output only. A universally unique identifier for the Agent.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time.
+  &quot;version&quot;: &quot;A String&quot;, # Output only. The version of the Agent, often obtained from the A2A Agent Card. Empty if Agent Card has no version or agent is not an A2A Agent.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists Agents in a given project and location.
+
+Args:
+  parent: string, Required. Parent value for ListAgentsRequest (required)
+  filter: string, Optional. Filtering results
+  orderBy: string, Optional. Hint for how to order the results
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
+  pageToken: string, Optional. A token identifying a page of results the server should return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response to listing Agents
+  &quot;agents&quot;: [ # The list of Agents.
+    { # Represents an Agent. &quot;A2A&quot; below refers to the Agent-to-Agent protocol.
+      &quot;agentId&quot;: &quot;A String&quot;, # Output only. A stable, globally unique identifier for agents.
+      &quot;attributes&quot;: { # Output only. Attributes of the Agent. Valid values: * `agentregistry.googleapis.com/system/Framework`: {&quot;framework&quot;: &quot;google-adk&quot;} - the agent framework used to develop the Agent. Example values: &quot;google-adk&quot;, &quot;langchain&quot;, &quot;custom&quot;. * `agentregistry.googleapis.com/system/RuntimeIdentity`: {&quot;principal&quot;: &quot;principal://...&quot;} - the runtime identity associated with the Agent. * `agentregistry.googleapis.com/system/RuntimeReference`: {&quot;uri&quot;: &quot;//...&quot;} - the URI of the underlying resource hosting the Agent, for example, the Reasoning Engine URI.
+        &quot;a_key&quot;: {
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
+      &quot;card&quot;: { # Full Agent Card payload, often obtained from the A2A Agent Card. # Output only. Full Agent Card payload, when available.
+        &quot;content&quot;: { # Output only. The content of the agent card.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+        &quot;type&quot;: &quot;A String&quot;, # Output only. The type of agent card.
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time.
+      &quot;description&quot;: &quot;A String&quot;, # Output only. The description of the Agent, often obtained from the A2A Agent Card. Empty if Agent Card has no description.
+      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the agent, often obtained from the A2A Agent Card.
+      &quot;location&quot;: &quot;A String&quot;, # Output only. The location where agent is hosted. The value is defined by the hosting environment (i.e. cloud provider).
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of an Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
+      &quot;protocols&quot;: [ # Output only. The connection details for the Agent.
+        { # Represents the protocol of an Agent.
+          &quot;interfaces&quot;: [ # Output only. The connection details for the Agent.
+            { # Represents the connection details for an Agent or MCP Server.
+              &quot;protocolBinding&quot;: &quot;A String&quot;, # Required. The protocol binding of the interface.
+              &quot;url&quot;: &quot;A String&quot;, # Required. The destination URL.
+            },
+          ],
+          &quot;protocolVersion&quot;: &quot;A String&quot;, # Output only. The version of the protocol, for example, the A2A Agent Card version.
+          &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the protocol.
+        },
+      ],
+      &quot;skills&quot;: [ # Output only. Skills the agent possesses, often obtained from the A2A Agent Card.
+        { # Represents the skills of an Agent.
+          &quot;description&quot;: &quot;A String&quot;, # Output only. A more detailed description of the skill.
+          &quot;examples&quot;: [ # Output only. Example prompts or scenarios this skill can handle.
+            &quot;A String&quot;,
+          ],
+          &quot;id&quot;: &quot;A String&quot;, # Output only. A unique identifier for the agent&#x27;s skill.
+          &quot;name&quot;: &quot;A String&quot;, # Output only. A human-readable name for the agent&#x27;s skill.
+          &quot;tags&quot;: [ # Output only. Keywords describing the skill.
+            &quot;A String&quot;,
+          ],
+        },
+      ],
+      &quot;uid&quot;: &quot;A String&quot;, # Output only. A universally unique identifier for the Agent.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time.
+      &quot;version&quot;: &quot;A String&quot;, # Output only. The version of the Agent, often obtained from the A2A Agent Card. Empty if Agent Card has no version or agent is not an A2A Agent.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token identifying a page of results the server should return.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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="search">search(parent, body=None, x__xgafv=None)</code>
+  <pre>Searches Agents in a given project and location.
+
+Args:
+  parent: string, Required. Parent value for SearchAgentsRequest. Format: `projects/{project}/locations/{location}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Message for searching Agents
+  &quot;pageSize&quot;: 42, # Optional. The maximum number of search results to return per page. The page size is capped at `100`, even if a larger value is specified. A negative value will result in an `INVALID_ARGUMENT` error. If unspecified or set to `0`, a default value of `20` will be used. The server may return fewer results than requested.
+  &quot;pageToken&quot;: &quot;A String&quot;, # Optional. If present, retrieve 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 all other method parameters, must be identical to those in the previous call.
+  &quot;searchString&quot;: &quot;A String&quot;, # Optional. Search criteria used to select the Agents to return. If no search criteria is specified then all accessible Agents will be returned. Search expressions can be used to restrict results based upon searchable fields, where the operators can be used along with the suffix wildcard symbol `*`. See [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools) for more details. Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`. Searchable fields: | Field | `=` | `:` | `*` | Keyword Search | |--------------------|-----|-----|-----|----------------| | agentId | Yes | Yes | Yes | Included | | name | No | Yes | Yes | Included | | displayName | No | Yes | Yes | Included | | description | No | Yes | No | Included | | skills | No | Yes | No | Included | | skills.id | No | Yes | No | Included | | skills.name | No | Yes | No | Included | | skills.description | No | Yes | No | Included | | skills.tags | No | Yes | No | Included | | skills.examples | No | Yes | No | Included | Examples: * `agentId=&quot;urn:agent:projects-123:projects:123:locations:us-central1:reasoningEngines:1234&quot;` to find the agent with the specified agent ID. * `name:important` to find agents whose name contains `important` as a word. * `displayName:works*` to find agents whose display name contains words that start with `works`. * `skills.tags:test` to find agents whose skills tags contain `test`. * `planner OR booking` to find agents whose metadata contains the words `planner` or `booking`.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response to searching Agents
+  &quot;agents&quot;: [ # A list of Agents that match the `search_string`.
+    { # Represents an Agent. &quot;A2A&quot; below refers to the Agent-to-Agent protocol.
+      &quot;agentId&quot;: &quot;A String&quot;, # Output only. A stable, globally unique identifier for agents.
+      &quot;attributes&quot;: { # Output only. Attributes of the Agent. Valid values: * `agentregistry.googleapis.com/system/Framework`: {&quot;framework&quot;: &quot;google-adk&quot;} - the agent framework used to develop the Agent. Example values: &quot;google-adk&quot;, &quot;langchain&quot;, &quot;custom&quot;. * `agentregistry.googleapis.com/system/RuntimeIdentity`: {&quot;principal&quot;: &quot;principal://...&quot;} - the runtime identity associated with the Agent. * `agentregistry.googleapis.com/system/RuntimeReference`: {&quot;uri&quot;: &quot;//...&quot;} - the URI of the underlying resource hosting the Agent, for example, the Reasoning Engine URI.
+        &quot;a_key&quot;: {
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
+      &quot;card&quot;: { # Full Agent Card payload, often obtained from the A2A Agent Card. # Output only. Full Agent Card payload, when available.
+        &quot;content&quot;: { # Output only. The content of the agent card.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+        &quot;type&quot;: &quot;A String&quot;, # Output only. The type of agent card.
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time.
+      &quot;description&quot;: &quot;A String&quot;, # Output only. The description of the Agent, often obtained from the A2A Agent Card. Empty if Agent Card has no description.
+      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the agent, often obtained from the A2A Agent Card.
+      &quot;location&quot;: &quot;A String&quot;, # Output only. The location where agent is hosted. The value is defined by the hosting environment (i.e. cloud provider).
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of an Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
+      &quot;protocols&quot;: [ # Output only. The connection details for the Agent.
+        { # Represents the protocol of an Agent.
+          &quot;interfaces&quot;: [ # Output only. The connection details for the Agent.
+            { # Represents the connection details for an Agent or MCP Server.
+              &quot;protocolBinding&quot;: &quot;A String&quot;, # Required. The protocol binding of the interface.
+              &quot;url&quot;: &quot;A String&quot;, # Required. The destination URL.
+            },
+          ],
+          &quot;protocolVersion&quot;: &quot;A String&quot;, # Output only. The version of the protocol, for example, the A2A Agent Card version.
+          &quot;type&quot;: &quot;A String&quot;, # Output only. The type of the protocol.
+        },
+      ],
+      &quot;skills&quot;: [ # Output only. Skills the agent possesses, often obtained from the A2A Agent Card.
+        { # Represents the skills of an Agent.
+          &quot;description&quot;: &quot;A String&quot;, # Output only. A more detailed description of the skill.
+          &quot;examples&quot;: [ # Output only. Example prompts or scenarios this skill can handle.
+            &quot;A String&quot;,
+          ],
+          &quot;id&quot;: &quot;A String&quot;, # Output only. A unique identifier for the agent&#x27;s skill.
+          &quot;name&quot;: &quot;A String&quot;, # Output only. A human-readable name for the agent&#x27;s skill.
+          &quot;tags&quot;: [ # Output only. Keywords describing the skill.
+            &quot;A String&quot;,
+          ],
+        },
+      ],
+      &quot;uid&quot;: &quot;A String&quot;, # Output only. A universally unique identifier for the Agent.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time.
+      &quot;version&quot;: &quot;A String&quot;, # Output only. The version of the Agent, often obtained from the A2A Agent Card. Empty if Agent Card has no version or agent is not an A2A Agent.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search_next">search_next()</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/agentregistry_v1.projects.locations.bindings.html b/docs/dyn/agentregistry_v1.projects.locations.bindings.html
new file mode 100644
index 0000000..542a140
--- /dev/null
+++ b/docs/dyn/agentregistry_v1.projects.locations.bindings.html
@@ -0,0 +1,422 @@
+<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="agentregistry_v1.html">Agent Registry API</a> . <a href="agentregistry_v1.projects.html">projects</a> . <a href="agentregistry_v1.projects.locations.html">locations</a> . <a href="agentregistry_v1.projects.locations.bindings.html">bindings</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, bindingId=None, body=None, requestId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a new Binding in a given project and location.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, requestId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a single Binding.</p>
+<p class="toc_element">
+  <code><a href="#fetchAvailable">fetchAvailable(parent, pageSize=None, pageToken=None, sourceIdentifier=None, targetIdentifier=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Fetches available Bindings.</p>
+<p class="toc_element">
+  <code><a href="#fetchAvailable_next">fetchAvailable_next()</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets details of a single Binding.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists Bindings in a given project and location.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the parameters of a single Binding.</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, bindingId=None, body=None, requestId=None, x__xgafv=None)</code>
+  <pre>Creates a new Binding in a given project and location.
+
+Args:
+  parent: string, Required. The project and location to create the Binding in. Expected format: `projects/{project}/locations/{location}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a user-defined Binding.
+  &quot;authProviderBinding&quot;: { # The AuthProvider of the Binding. # The binding for AuthProvider.
+    &quot;authProvider&quot;: &quot;A String&quot;, # Required. The resource name of the target AuthProvider. Format: * `projects/{project}/locations/{location}/authProviders/{auth_provider}`
+    &quot;continueUri&quot;: &quot;A String&quot;, # Optional. The continue URI of the AuthProvider. The URI is used to reauthenticate the user and finalize the managed OAuth flow.
+    &quot;scopes&quot;: [ # Optional. The list of OAuth2 scopes of the AuthProvider.
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this binding was created.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. User-defined description of a Binding. Can have a maximum length of `2048` characters.
+  &quot;displayName&quot;: &quot;A String&quot;, # Optional. User-defined display name for the Binding. Can have a maximum length of `63` characters.
+  &quot;name&quot;: &quot;A String&quot;, # Required. Identifier. The resource name of the Binding. Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+  &quot;source&quot;: { # The source of the Binding. # Required. The target Agent of the Binding.
+    &quot;identifier&quot;: &quot;A String&quot;, # The identifier of the source Agent. Format: * `urn:agent:{publisher}:{namespace}:{name}`
+  },
+  &quot;target&quot;: { # The target of the Binding. # Required. The target Agent Registry Resource of the Binding.
+    &quot;identifier&quot;: &quot;A String&quot;, # The identifier of the target Agent, MCP Server, or Endpoint. Format: * `urn:agent:{publisher}:{namespace}:{name}` * `urn:mcp:{publisher}:{namespace}:{name}` * `urn:endpoint:{publisher}:{namespace}:{name}`
+  },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this binding was last updated.
+}
+
+  bindingId: string, Required. The ID to use for the binding, which will become the final component of the binding&#x27;s resource name. This value should be 4-63 characters, and must conform to RFC-1034. Specifically, it must match the regular expression `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.
+  requestId: string, Optional. 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. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, requestId=None, x__xgafv=None)</code>
+  <pre>Deletes a single Binding.
+
+Args:
+  name: string, Required. The name of the Binding. Format: `projects/{project}/locations/{location}/bindings/{binding}`. (required)
+  requestId: string, Optional. 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. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="fetchAvailable">fetchAvailable(parent, pageSize=None, pageToken=None, sourceIdentifier=None, targetIdentifier=None, x__xgafv=None)</code>
+  <pre>Fetches available Bindings.
+
+Args:
+  parent: string, Required. The parent, in the format `projects/{project}/locations/{location}`. (required)
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. Page size is 500 if unspecified and is capped at `500` even if a larger value is given.
+  pageToken: string, Optional. A token identifying a page of results the server should return.
+  sourceIdentifier: string, The identifier of the source Agent. Format: * `urn:agent:{publisher}:{namespace}:{name}`
+  targetIdentifier: string, Optional. The identifier of the target Agent, MCP Server, or Endpoint. Format: * `urn:agent:{publisher}:{namespace}:{name}` * `urn:mcp:{publisher}:{namespace}:{name}` * `urn:endpoint:{publisher}:{namespace}:{name}`
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response to fetching available Bindings.
+  &quot;bindings&quot;: [ # The list of Bindings.
+    { # Represents a user-defined Binding.
+      &quot;authProviderBinding&quot;: { # The AuthProvider of the Binding. # The binding for AuthProvider.
+        &quot;authProvider&quot;: &quot;A String&quot;, # Required. The resource name of the target AuthProvider. Format: * `projects/{project}/locations/{location}/authProviders/{auth_provider}`
+        &quot;continueUri&quot;: &quot;A String&quot;, # Optional. The continue URI of the AuthProvider. The URI is used to reauthenticate the user and finalize the managed OAuth flow.
+        &quot;scopes&quot;: [ # Optional. The list of OAuth2 scopes of the AuthProvider.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this binding was created.
+      &quot;description&quot;: &quot;A String&quot;, # Optional. User-defined description of a Binding. Can have a maximum length of `2048` characters.
+      &quot;displayName&quot;: &quot;A String&quot;, # Optional. User-defined display name for the Binding. Can have a maximum length of `63` characters.
+      &quot;name&quot;: &quot;A String&quot;, # Required. Identifier. The resource name of the Binding. Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+      &quot;source&quot;: { # The source of the Binding. # Required. The target Agent of the Binding.
+        &quot;identifier&quot;: &quot;A String&quot;, # The identifier of the source Agent. Format: * `urn:agent:{publisher}:{namespace}:{name}`
+      },
+      &quot;target&quot;: { # The target of the Binding. # Required. The target Agent Registry Resource of the Binding.
+        &quot;identifier&quot;: &quot;A String&quot;, # The identifier of the target Agent, MCP Server, or Endpoint. Format: * `urn:agent:{publisher}:{namespace}:{name}` * `urn:mcp:{publisher}:{namespace}:{name}` * `urn:endpoint:{publisher}:{namespace}:{name}`
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this binding was last updated.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token identifying a page of results the server should return.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="fetchAvailable_next">fetchAvailable_next()</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="get">get(name, x__xgafv=None)</code>
+  <pre>Gets details of a single Binding.
+
+Args:
+  name: string, Required. The name of the Binding. Format: `projects/{project}/locations/{location}/bindings/{binding}`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a user-defined Binding.
+  &quot;authProviderBinding&quot;: { # The AuthProvider of the Binding. # The binding for AuthProvider.
+    &quot;authProvider&quot;: &quot;A String&quot;, # Required. The resource name of the target AuthProvider. Format: * `projects/{project}/locations/{location}/authProviders/{auth_provider}`
+    &quot;continueUri&quot;: &quot;A String&quot;, # Optional. The continue URI of the AuthProvider. The URI is used to reauthenticate the user and finalize the managed OAuth flow.
+    &quot;scopes&quot;: [ # Optional. The list of OAuth2 scopes of the AuthProvider.
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this binding was created.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. User-defined description of a Binding. Can have a maximum length of `2048` characters.
+  &quot;displayName&quot;: &quot;A String&quot;, # Optional. User-defined display name for the Binding. Can have a maximum length of `63` characters.
+  &quot;name&quot;: &quot;A String&quot;, # Required. Identifier. The resource name of the Binding. Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+  &quot;source&quot;: { # The source of the Binding. # Required. The target Agent of the Binding.
+    &quot;identifier&quot;: &quot;A String&quot;, # The identifier of the source Agent. Format: * `urn:agent:{publisher}:{namespace}:{name}`
+  },
+  &quot;target&quot;: { # The target of the Binding. # Required. The target Agent Registry Resource of the Binding.
+    &quot;identifier&quot;: &quot;A String&quot;, # The identifier of the target Agent, MCP Server, or Endpoint. Format: * `urn:agent:{publisher}:{namespace}:{name}` * `urn:mcp:{publisher}:{namespace}:{name}` * `urn:endpoint:{publisher}:{namespace}:{name}`
+  },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this binding was last updated.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists Bindings in a given project and location.
+
+Args:
+  parent: string, Required. The project and location to list bindings in. Expected format: `projects/{project}/locations/{location}`. (required)
+  filter: string, Optional. A query string used to filter the list of bindings returned. The filter expression must follow AIP-160 syntax.
+  orderBy: string, Optional. Hint for how to order the results
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. Page size is 500 if unspecified and is capped at `500` even if a larger value is given.
+  pageToken: string, Optional. A token identifying a page of results the server should return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response to listing Bindings
+  &quot;bindings&quot;: [ # The list of Binding resources matching the parent and filter criteria in the request. Each Binding resource follows the format: `projects/{project}/locations/{location}/bindings/{binding}`.
+    { # Represents a user-defined Binding.
+      &quot;authProviderBinding&quot;: { # The AuthProvider of the Binding. # The binding for AuthProvider.
+        &quot;authProvider&quot;: &quot;A String&quot;, # Required. The resource name of the target AuthProvider. Format: * `projects/{project}/locations/{location}/authProviders/{auth_provider}`
+        &quot;continueUri&quot;: &quot;A String&quot;, # Optional. The continue URI of the AuthProvider. The URI is used to reauthenticate the user and finalize the managed OAuth flow.
+        &quot;scopes&quot;: [ # Optional. The list of OAuth2 scopes of the AuthProvider.
+          &quot;A String&quot;,
+        ],
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this binding was created.
+      &quot;description&quot;: &quot;A String&quot;, # Optional. User-defined description of a Binding. Can have a maximum length of `2048` characters.
+      &quot;displayName&quot;: &quot;A String&quot;, # Optional. User-defined display name for the Binding. Can have a maximum length of `63` characters.
+      &quot;name&quot;: &quot;A String&quot;, # Required. Identifier. The resource name of the Binding. Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+      &quot;source&quot;: { # The source of the Binding. # Required. The target Agent of the Binding.
+        &quot;identifier&quot;: &quot;A String&quot;, # The identifier of the source Agent. Format: * `urn:agent:{publisher}:{namespace}:{name}`
+      },
+      &quot;target&quot;: { # The target of the Binding. # Required. The target Agent Registry Resource of the Binding.
+        &quot;identifier&quot;: &quot;A String&quot;, # The identifier of the target Agent, MCP Server, or Endpoint. Format: * `urn:agent:{publisher}:{namespace}:{name}` * `urn:mcp:{publisher}:{namespace}:{name}` * `urn:endpoint:{publisher}:{namespace}:{name}`
+      },
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this binding was last updated.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token identifying a page of results the server should return. Used in page_token.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</code>
+  <pre>Retrieves the next page of results.
+
+        Args:
+          previous_request: The request for the previous page. (required)
+          previous_response: The response from the request for the previous page. (required)
+
+        Returns:
+          A request object that you can call &#x27;execute()&#x27; on to request the next
+          page. Returns None if there are no more items in the collection.
+        </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates the parameters of a single Binding.
+
+Args:
+  name: string, Required. Identifier. The resource name of the Binding. Format: `projects/{project}/locations/{location}/bindings/{binding}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a user-defined Binding.
+  &quot;authProviderBinding&quot;: { # The AuthProvider of the Binding. # The binding for AuthProvider.
+    &quot;authProvider&quot;: &quot;A String&quot;, # Required. The resource name of the target AuthProvider. Format: * `projects/{project}/locations/{location}/authProviders/{auth_provider}`
+    &quot;continueUri&quot;: &quot;A String&quot;, # Optional. The continue URI of the AuthProvider. The URI is used to reauthenticate the user and finalize the managed OAuth flow.
+    &quot;scopes&quot;: [ # Optional. The list of OAuth2 scopes of the AuthProvider.
+      &quot;A String&quot;,
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this binding was created.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. User-defined description of a Binding. Can have a maximum length of `2048` characters.
+  &quot;displayName&quot;: &quot;A String&quot;, # Optional. User-defined display name for the Binding. Can have a maximum length of `63` characters.
+  &quot;name&quot;: &quot;A String&quot;, # Required. Identifier. The resource name of the Binding. Format: `projects/{project}/locations/{location}/bindings/{binding}`.
+  &quot;source&quot;: { # The source of the Binding. # Required. The target Agent of the Binding.
+    &quot;identifier&quot;: &quot;A String&quot;, # The identifier of the source Agent. Format: * `urn:agent:{publisher}:{namespace}:{name}`
+  },
+  &quot;target&quot;: { # The target of the Binding. # Required. The target Agent Registry Resource of the Binding.
+    &quot;identifier&quot;: &quot;A String&quot;, # The identifier of the target Agent, MCP Server, or Endpoint. Format: * `urn:agent:{publisher}:{namespace}:{name}` * `urn:mcp:{publisher}:{namespace}:{name}` * `urn:endpoint:{publisher}:{namespace}:{name}`
+  },
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this binding was last updated.
+}
+
+  requestId: string, Optional. 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. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Binding resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields present in the request will be overwritten.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/agentregistry_v1.projects.locations.endpoints.html b/docs/dyn/agentregistry_v1.projects.locations.endpoints.html
new file mode 100644
index 0000000..a962372
--- /dev/null
+++ b/docs/dyn/agentregistry_v1.projects.locations.endpoints.html
@@ -0,0 +1,187 @@
+<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="agentregistry_v1.html">Agent Registry API</a> . <a href="agentregistry_v1.projects.html">projects</a> . <a href="agentregistry_v1.projects.locations.html">locations</a> . <a href="agentregistry_v1.projects.locations.endpoints.html">endpoints</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="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets details of a single Endpoint.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists Endpoints in a given project and location.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets details of a single Endpoint.
+
+Args:
+  name: string, Required. The name of the endpoint to retrieve. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an Endpoint.
+  &quot;attributes&quot;: { # Output only. Attributes of the Endpoint. Valid values: * `agentregistry.googleapis.com/system/RuntimeReference`: {&quot;uri&quot;: &quot;//...&quot;} - the URI of the underlying resource hosting the Endpoint, for example, the GKE Deployment.
+    &quot;a_key&quot;: {
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time.
+  &quot;description&quot;: &quot;A String&quot;, # Output only. Description of an Endpoint.
+  &quot;displayName&quot;: &quot;A String&quot;, # Output only. Display name for the Endpoint.
+  &quot;endpointId&quot;: &quot;A String&quot;, # Output only. A stable, globally unique identifier for Endpoint.
+  &quot;interfaces&quot;: [ # Required. The connection details for the Endpoint.
+    { # Represents the connection details for an Agent or MCP Server.
+      &quot;protocolBinding&quot;: &quot;A String&quot;, # Required. The protocol binding of the interface.
+      &quot;url&quot;: &quot;A String&quot;, # Required. The destination URL.
+    },
+  ],
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the Endpoint. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists Endpoints in a given project and location.
+
+Args:
+  parent: string, Required. The project and location to list endpoints in. Expected format: `projects/{project}/locations/{location}`. (required)
+  filter: string, Optional. A query string used to filter the list of endpoints returned. The filter expression must follow AIP-160 syntax. Filtering is supported on the `name`, `display_name`, `description`, `version`, and `interfaces` fields. Some examples: * `name = &quot;projects/p1/locations/l1/endpoints/e1&quot;` * `display_name = &quot;my-endpoint&quot;` * `description = &quot;my-endpoint-description&quot;` * `version = &quot;v1&quot;` * `interfaces.transport = &quot;HTTP_JSON&quot;`
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
+  pageToken: string, Optional. A token identifying a page of results the server should return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response to listing Endpoints
+  &quot;endpoints&quot;: [ # The list of Endpoint resources matching the parent and filter criteria in the request. Each Endpoint resource follows the format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+    { # Represents an Endpoint.
+      &quot;attributes&quot;: { # Output only. Attributes of the Endpoint. Valid values: * `agentregistry.googleapis.com/system/RuntimeReference`: {&quot;uri&quot;: &quot;//...&quot;} - the URI of the underlying resource hosting the Endpoint, for example, the GKE Deployment.
+        &quot;a_key&quot;: {
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time.
+      &quot;description&quot;: &quot;A String&quot;, # Output only. Description of an Endpoint.
+      &quot;displayName&quot;: &quot;A String&quot;, # Output only. Display name for the Endpoint.
+      &quot;endpointId&quot;: &quot;A String&quot;, # Output only. A stable, globally unique identifier for Endpoint.
+      &quot;interfaces&quot;: [ # Required. The connection details for the Endpoint.
+        { # Represents the connection details for an Agent or MCP Server.
+          &quot;protocolBinding&quot;: &quot;A String&quot;, # Required. The protocol binding of the interface.
+          &quot;url&quot;: &quot;A String&quot;, # Required. The destination URL.
+        },
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the Endpoint. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token identifying a page of results the server should return. Used in page_token.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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/agentregistry_v1.projects.locations.html b/docs/dyn/agentregistry_v1.projects.locations.html
new file mode 100644
index 0000000..176871e
--- /dev/null
+++ b/docs/dyn/agentregistry_v1.projects.locations.html
@@ -0,0 +1,202 @@
+<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="agentregistry_v1.html">Agent Registry API</a> . <a href="agentregistry_v1.projects.html">projects</a> . <a href="agentregistry_v1.projects.locations.html">locations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="agentregistry_v1.projects.locations.agents.html">agents()</a></code>
+</p>
+<p class="firstline">Returns the agents Resource.</p>
+
+<p class="toc_element">
+  <code><a href="agentregistry_v1.projects.locations.bindings.html">bindings()</a></code>
+</p>
+<p class="firstline">Returns the bindings Resource.</p>
+
+<p class="toc_element">
+  <code><a href="agentregistry_v1.projects.locations.endpoints.html">endpoints()</a></code>
+</p>
+<p class="firstline">Returns the endpoints Resource.</p>
+
+<p class="toc_element">
+  <code><a href="agentregistry_v1.projects.locations.mcpServers.html">mcpServers()</a></code>
+</p>
+<p class="firstline">Returns the mcpServers Resource.</p>
+
+<p class="toc_element">
+  <code><a href="agentregistry_v1.projects.locations.operations.html">operations()</a></code>
+</p>
+<p class="firstline">Returns the operations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="agentregistry_v1.projects.locations.services.html">services()</a></code>
+</p>
+<p class="firstline">Returns the services 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="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets information about a location.</p>
+<p class="toc_element">
+  <code><a href="#list">list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets information about a location.
+
+Args:
+  name: string, Resource name for the location. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A resource that represents a Google Cloud location.
+  &quot;displayName&quot;: &quot;A String&quot;, # The friendly name for this location, typically a nearby city name. For example, &quot;Tokyo&quot;.
+  &quot;labels&quot;: { # Cross-service attributes for the location. For example {&quot;cloud.googleapis.com/region&quot;: &quot;us-east1&quot;}
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;locationId&quot;: &quot;A String&quot;, # The canonical id for this location. For example: `&quot;us-east1&quot;`.
+  &quot;metadata&quot;: { # Service-specific metadata. For example the available capacity at the given location.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Resource name for the location, which may vary between implementations. For example: `&quot;projects/example-project/locations/us-east1&quot;`
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
+
+Args:
+  name: string, The resource that owns the locations collection, if applicable. (required)
+  extraLocationTypes: string, Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage. (repeated)
+  filter: string, A filter to narrow down results to a preferred subset. The filtering language accepts strings like `&quot;displayName=tokyo&quot;`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).
+  pageSize: integer, The maximum number of results to return. If not set, the service selects a default.
+  pageToken: string, A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Locations.ListLocations.
+  &quot;locations&quot;: [ # A list of locations that matches the specified filter in the request.
+    { # A resource that represents a Google Cloud location.
+      &quot;displayName&quot;: &quot;A String&quot;, # The friendly name for this location, typically a nearby city name. For example, &quot;Tokyo&quot;.
+      &quot;labels&quot;: { # Cross-service attributes for the location. For example {&quot;cloud.googleapis.com/region&quot;: &quot;us-east1&quot;}
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;locationId&quot;: &quot;A String&quot;, # The canonical id for this location. For example: `&quot;us-east1&quot;`.
+      &quot;metadata&quot;: { # Service-specific metadata. For example the available capacity at the given location.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Resource name for the location, which may vary between implementations. For example: `&quot;projects/example-project/locations/us-east1&quot;`
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The standard List next-page token.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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/agentregistry_v1.projects.locations.mcpServers.html b/docs/dyn/agentregistry_v1.projects.locations.mcpServers.html
new file mode 100644
index 0000000..0445c77
--- /dev/null
+++ b/docs/dyn/agentregistry_v1.projects.locations.mcpServers.html
@@ -0,0 +1,296 @@
+<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="agentregistry_v1.html">Agent Registry API</a> . <a href="agentregistry_v1.projects.html">projects</a> . <a href="agentregistry_v1.projects.locations.html">locations</a> . <a href="agentregistry_v1.projects.locations.mcpServers.html">mcpServers</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="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets details of a single McpServer.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists McpServers in a given project and location.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#search">search(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Searches McpServers in a given project and location.</p>
+<p class="toc_element">
+  <code><a href="#search_next">search_next()</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets details of a single McpServer.
+
+Args:
+  name: string, Required. Name of the resource (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents an MCP (Model Context Protocol) Server.
+  &quot;attributes&quot;: { # Output only. Attributes of the MCP Server. Valid values: * `agentregistry.googleapis.com/system/RuntimeIdentity`: {&quot;principal&quot;: &quot;principal://...&quot;} - the runtime identity associated with the MCP Server. * `agentregistry.googleapis.com/system/RuntimeReference`: {&quot;uri&quot;: &quot;//...&quot;} - the URI of the underlying resource hosting the MCP Server, for example, the GKE Deployment.
+    &quot;a_key&quot;: {
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time.
+  &quot;description&quot;: &quot;A String&quot;, # Output only. The description of the MCP Server.
+  &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the MCP Server.
+  &quot;interfaces&quot;: [ # Output only. The connection details for the MCP Server.
+    { # Represents the connection details for an Agent or MCP Server.
+      &quot;protocolBinding&quot;: &quot;A String&quot;, # Required. The protocol binding of the interface.
+      &quot;url&quot;: &quot;A String&quot;, # Required. The destination URL.
+    },
+  ],
+  &quot;mcpServerId&quot;: &quot;A String&quot;, # Output only. A stable, globally unique identifier for MCP Servers.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the MCP Server. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`.
+  &quot;tools&quot;: [ # Output only. Tools provided by the MCP Server.
+    { # Represents a single tool provided by an MCP Server.
+      &quot;annotations&quot;: { # Annotations describing the characteristics and behavior of a tool or operation. # Output only. Annotations associated with the tool.
+        &quot;destructiveHint&quot;: True or False, # Output only. If true, the tool may perform destructive updates to its environment. If false, the tool performs only additive updates. NOTE: This property is meaningful only when `read_only_hint == false` Default: true
+        &quot;idempotentHint&quot;: True or False, # Output only. If true, calling the tool repeatedly with the same arguments will have no additional effect on its environment. NOTE: This property is meaningful only when `read_only_hint == false` Default: false
+        &quot;openWorldHint&quot;: True or False, # Output only. If true, this tool may interact with an &quot;open world&quot; of external entities. If false, the tool&#x27;s domain of interaction is closed. For example, the world of a web search tool is open, whereas that of a memory tool is not. Default: true
+        &quot;readOnlyHint&quot;: True or False, # Output only. If true, the tool does not modify its environment. Default: false
+        &quot;title&quot;: &quot;A String&quot;, # Output only. A human-readable title for the tool.
+      },
+      &quot;description&quot;: &quot;A String&quot;, # Output only. Description of what the tool does.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. Human-readable name of the tool.
+    },
+  ],
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists McpServers in a given project and location.
+
+Args:
+  parent: string, Required. Parent value for ListMcpServersRequest. Format: `projects/{project}/locations/{location}`. (required)
+  filter: string, Optional. Filtering results
+  orderBy: string, Optional. Hint for how to order the results
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
+  pageToken: string, Optional. A token identifying a page of results the server should return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response to listing McpServers
+  &quot;mcpServers&quot;: [ # The list of McpServers.
+    { # Represents an MCP (Model Context Protocol) Server.
+      &quot;attributes&quot;: { # Output only. Attributes of the MCP Server. Valid values: * `agentregistry.googleapis.com/system/RuntimeIdentity`: {&quot;principal&quot;: &quot;principal://...&quot;} - the runtime identity associated with the MCP Server. * `agentregistry.googleapis.com/system/RuntimeReference`: {&quot;uri&quot;: &quot;//...&quot;} - the URI of the underlying resource hosting the MCP Server, for example, the GKE Deployment.
+        &quot;a_key&quot;: {
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time.
+      &quot;description&quot;: &quot;A String&quot;, # Output only. The description of the MCP Server.
+      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the MCP Server.
+      &quot;interfaces&quot;: [ # Output only. The connection details for the MCP Server.
+        { # Represents the connection details for an Agent or MCP Server.
+          &quot;protocolBinding&quot;: &quot;A String&quot;, # Required. The protocol binding of the interface.
+          &quot;url&quot;: &quot;A String&quot;, # Required. The destination URL.
+        },
+      ],
+      &quot;mcpServerId&quot;: &quot;A String&quot;, # Output only. A stable, globally unique identifier for MCP Servers.
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the MCP Server. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`.
+      &quot;tools&quot;: [ # Output only. Tools provided by the MCP Server.
+        { # Represents a single tool provided by an MCP Server.
+          &quot;annotations&quot;: { # Annotations describing the characteristics and behavior of a tool or operation. # Output only. Annotations associated with the tool.
+            &quot;destructiveHint&quot;: True or False, # Output only. If true, the tool may perform destructive updates to its environment. If false, the tool performs only additive updates. NOTE: This property is meaningful only when `read_only_hint == false` Default: true
+            &quot;idempotentHint&quot;: True or False, # Output only. If true, calling the tool repeatedly with the same arguments will have no additional effect on its environment. NOTE: This property is meaningful only when `read_only_hint == false` Default: false
+            &quot;openWorldHint&quot;: True or False, # Output only. If true, this tool may interact with an &quot;open world&quot; of external entities. If false, the tool&#x27;s domain of interaction is closed. For example, the world of a web search tool is open, whereas that of a memory tool is not. Default: true
+            &quot;readOnlyHint&quot;: True or False, # Output only. If true, the tool does not modify its environment. Default: false
+            &quot;title&quot;: &quot;A String&quot;, # Output only. A human-readable title for the tool.
+          },
+          &quot;description&quot;: &quot;A String&quot;, # Output only. Description of what the tool does.
+          &quot;name&quot;: &quot;A String&quot;, # Output only. Human-readable name of the tool.
+        },
+      ],
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token identifying a page of results the server should return.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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="search">search(parent, body=None, x__xgafv=None)</code>
+  <pre>Searches McpServers in a given project and location.
+
+Args:
+  parent: string, Required. Parent value for SearchMcpServersRequest. Format: `projects/{project}/locations/{location}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Message for searching MCP Servers
+  &quot;pageSize&quot;: 42, # Optional. The maximum number of search results to return per page. The page size is capped at `100`, even if a larger value is specified. A negative value will result in an `INVALID_ARGUMENT` error. If unspecified or set to `0`, a default value of `20` will be used. The server may return fewer results than requested.
+  &quot;pageToken&quot;: &quot;A String&quot;, # Optional. If present, retrieve 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 all other method parameters, must be identical to those in the previous call.
+  &quot;searchString&quot;: &quot;A String&quot;, # Optional. Search criteria used to select the MCP Servers to return. If no search criteria is specified then all accessible MCP Servers will be returned. Search expressions can be used to restrict results based upon searchable fields, where the operators can be used along with the suffix wildcard symbol `*`. See [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools) for more details. Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`. Searchable fields: | Field | `=` | `:` | `*` | Keyword Search | |--------------------|-----|-----|-----|----------------| | mcpServerId | Yes | Yes | Yes | Included | | name | No | Yes | Yes | Included | | displayName | No | Yes | Yes | Included | Examples: * `mcpServerId=&quot;urn:mcp:projects-123:projects:123:locations:us-central1:agentregistry:services:service-id&quot;` to find the MCP Server with the specified MCP Server ID. * `name:important` to find MCP Servers whose name contains `important` as a word. * `displayName:works*` to find MCP Servers whose display name contains words that start with `works`. * `planner OR booking` to find MCP Servers whose metadata contains the words `planner` or `booking`. * `mcpServerId:service-id AND (displayName:planner OR displayName:booking)` to find MCP Servers whose MCP Server ID contains `service-id` and whose display name contains `planner` or `booking`.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response to searching MCP Servers
+  &quot;mcpServers&quot;: [ # A list of McpServers that match the `search_string`.
+    { # Represents an MCP (Model Context Protocol) Server.
+      &quot;attributes&quot;: { # Output only. Attributes of the MCP Server. Valid values: * `agentregistry.googleapis.com/system/RuntimeIdentity`: {&quot;principal&quot;: &quot;principal://...&quot;} - the runtime identity associated with the MCP Server. * `agentregistry.googleapis.com/system/RuntimeReference`: {&quot;uri&quot;: &quot;//...&quot;} - the URI of the underlying resource hosting the MCP Server, for example, the GKE Deployment.
+        &quot;a_key&quot;: {
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time.
+      &quot;description&quot;: &quot;A String&quot;, # Output only. The description of the MCP Server.
+      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the MCP Server.
+      &quot;interfaces&quot;: [ # Output only. The connection details for the MCP Server.
+        { # Represents the connection details for an Agent or MCP Server.
+          &quot;protocolBinding&quot;: &quot;A String&quot;, # Required. The protocol binding of the interface.
+          &quot;url&quot;: &quot;A String&quot;, # Required. The destination URL.
+        },
+      ],
+      &quot;mcpServerId&quot;: &quot;A String&quot;, # Output only. A stable, globally unique identifier for MCP Servers.
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the MCP Server. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`.
+      &quot;tools&quot;: [ # Output only. Tools provided by the MCP Server.
+        { # Represents a single tool provided by an MCP Server.
+          &quot;annotations&quot;: { # Annotations describing the characteristics and behavior of a tool or operation. # Output only. Annotations associated with the tool.
+            &quot;destructiveHint&quot;: True or False, # Output only. If true, the tool may perform destructive updates to its environment. If false, the tool performs only additive updates. NOTE: This property is meaningful only when `read_only_hint == false` Default: true
+            &quot;idempotentHint&quot;: True or False, # Output only. If true, calling the tool repeatedly with the same arguments will have no additional effect on its environment. NOTE: This property is meaningful only when `read_only_hint == false` Default: false
+            &quot;openWorldHint&quot;: True or False, # Output only. If true, this tool may interact with an &quot;open world&quot; of external entities. If false, the tool&#x27;s domain of interaction is closed. For example, the world of a web search tool is open, whereas that of a memory tool is not. Default: true
+            &quot;readOnlyHint&quot;: True or False, # Output only. If true, the tool does not modify its environment. Default: false
+            &quot;title&quot;: &quot;A String&quot;, # Output only. A human-readable title for the tool.
+          },
+          &quot;description&quot;: &quot;A String&quot;, # Output only. Description of what the tool does.
+          &quot;name&quot;: &quot;A String&quot;, # Output only. Human-readable name of the tool.
+        },
+      ],
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="search_next">search_next()</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/agentregistry_v1.projects.locations.operations.html b/docs/dyn/agentregistry_v1.projects.locations.operations.html
new file mode 100644
index 0000000..9e31686
--- /dev/null
+++ b/docs/dyn/agentregistry_v1.projects.locations.operations.html
@@ -0,0 +1,239 @@
+<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="agentregistry_v1.html">Agent Registry API</a> . <a href="agentregistry_v1.projects.html">projects</a> . <a href="agentregistry_v1.projects.locations.html">locations</a> . <a href="agentregistry_v1.projects.locations.operations.html">operations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#cancel">cancel(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.</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(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">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.</p>
+<p class="toc_element">
+  <code><a href="#list">list(name, filter=None, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="cancel">cancel(name, body=None, x__xgafv=None)</code>
+  <pre>Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn&#x27;t support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.
+
+Args:
+  name: string, The name of the operation resource to be cancelled. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The request message for Operations.CancelOperation.
+}
+
+  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); }
+}</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(name, x__xgafv=None)</code>
+  <pre>Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn&#x27;t support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.
+
+Args:
+  name: string, The name of the operation resource to be deleted. (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); }
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>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.
+
+Args:
+  name: string, The name of the operation resource. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(name, filter=None, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)</code>
+  <pre>Lists operations that match the specified filter in the request. If the server doesn&#x27;t support this method, it returns `UNIMPLEMENTED`.
+
+Args:
+  name: string, The name of the operation&#x27;s parent resource. (required)
+  filter: string, The standard list filter.
+  pageSize: integer, The standard list page size.
+  pageToken: string, The standard list page token.
+  returnPartialSuccess: boolean, When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `&quot;projects/example/locations/-&quot;`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Operations.ListOperations.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The standard List next-page token.
+  &quot;operations&quot;: [ # A list of operations that matches the specified filter in the request.
+    { # This resource represents a long-running operation that is the result of a network API call.
+      &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+      &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+        &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+        &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+          {
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+        &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+      },
+      &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+      &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+      &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    },
+  ],
+  &quot;unreachable&quot;: [ # Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.
+    &quot;A String&quot;,
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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/agentregistry_v1.projects.locations.services.html b/docs/dyn/agentregistry_v1.projects.locations.services.html
new file mode 100644
index 0000000..8b74c9e
--- /dev/null
+++ b/docs/dyn/agentregistry_v1.projects.locations.services.html
@@ -0,0 +1,404 @@
+<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="agentregistry_v1.html">Agent Registry API</a> . <a href="agentregistry_v1.projects.html">projects</a> . <a href="agentregistry_v1.projects.locations.html">locations</a> . <a href="agentregistry_v1.projects.locations.services.html">services</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, requestId=None, serviceId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a new Service in a given project and location.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, requestId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a single Service.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets details of a single Service.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists Services in a given project and location.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the parameters of a single Service.</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, requestId=None, serviceId=None, x__xgafv=None)</code>
+  <pre>Creates a new Service in a given project and location.
+
+Args:
+  parent: string, Required. The project and location to create the Service in. Expected format: `projects/{project}/locations/{location}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a user-defined Service.
+  &quot;agentSpec&quot;: { # The spec of the agent. # Optional. The spec of the Agent. When `agent_spec` is set, the type of the service is Agent.
+    &quot;content&quot;: { # Optional. The content of the Agent spec in the JSON format. This payload is validated against the schema for the specified type. The content size is limited to `10KB`.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
+    &quot;type&quot;: &quot;A String&quot;, # Required. The type of the agent spec content.
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. User-defined description of an Service. Can have a maximum length of `2048` characters.
+  &quot;displayName&quot;: &quot;A String&quot;, # Optional. User-defined display name for the Service. Can have a maximum length of `63` characters.
+  &quot;endpointSpec&quot;: { # The spec of the endpoint. # Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type of the service is Endpoint.
+    &quot;content&quot;: { # Optional. The content of the endpoint spec. Reserved for future use.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
+    &quot;type&quot;: &quot;A String&quot;, # Required. The type of the endpoint spec content.
+  },
+  &quot;interfaces&quot;: [ # Optional. The connection details for the Service.
+    { # Represents the connection details for an Agent or MCP Server.
+      &quot;protocolBinding&quot;: &quot;A String&quot;, # Required. The protocol binding of the interface.
+      &quot;url&quot;: &quot;A String&quot;, # Required. The destination URL.
+    },
+  ],
+  &quot;mcpServerSpec&quot;: { # The spec of the MCP Server. # Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the type of the service is MCP Server.
+    &quot;content&quot;: { # Optional. The content of the MCP Server spec. This payload is validated against the schema for the specified type. The content size is limited to `10KB`.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
+    &quot;type&quot;: &quot;A String&quot;, # Required. The type of the MCP Server spec content.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the Service. Format: `projects/{project}/locations/{location}/services/{service}`.
+  &quot;registryResource&quot;: &quot;A String&quot;, # Output only. The resource name of the resulting Agent, MCP Server, or Endpoint. Format: * `projects/{project}/locations/{location}/mcpServers/{mcp_server}` * `projects/{project}/locations/{location}/agents/{agent}` * `projects/{project}/locations/{location}/endpoints/{endpoint}`
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time.
+}
+
+  requestId: string, Optional. 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. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  serviceId: string, Required. The ID to use for the service, which will become the final component of the service&#x27;s resource name. This value should be 4-63 characters, and valid characters are `/a-z-/`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, requestId=None, x__xgafv=None)</code>
+  <pre>Deletes a single Service.
+
+Args:
+  name: string, Required. The name of the Service. Format: `projects/{project}/locations/{location}/services/{service}`. (required)
+  requestId: string, Optional. 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. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets details of a single Service.
+
+Args:
+  name: string, Required. The name of the Service. Format: `projects/{project}/locations/{location}/services/{service}`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a user-defined Service.
+  &quot;agentSpec&quot;: { # The spec of the agent. # Optional. The spec of the Agent. When `agent_spec` is set, the type of the service is Agent.
+    &quot;content&quot;: { # Optional. The content of the Agent spec in the JSON format. This payload is validated against the schema for the specified type. The content size is limited to `10KB`.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
+    &quot;type&quot;: &quot;A String&quot;, # Required. The type of the agent spec content.
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. User-defined description of an Service. Can have a maximum length of `2048` characters.
+  &quot;displayName&quot;: &quot;A String&quot;, # Optional. User-defined display name for the Service. Can have a maximum length of `63` characters.
+  &quot;endpointSpec&quot;: { # The spec of the endpoint. # Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type of the service is Endpoint.
+    &quot;content&quot;: { # Optional. The content of the endpoint spec. Reserved for future use.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
+    &quot;type&quot;: &quot;A String&quot;, # Required. The type of the endpoint spec content.
+  },
+  &quot;interfaces&quot;: [ # Optional. The connection details for the Service.
+    { # Represents the connection details for an Agent or MCP Server.
+      &quot;protocolBinding&quot;: &quot;A String&quot;, # Required. The protocol binding of the interface.
+      &quot;url&quot;: &quot;A String&quot;, # Required. The destination URL.
+    },
+  ],
+  &quot;mcpServerSpec&quot;: { # The spec of the MCP Server. # Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the type of the service is MCP Server.
+    &quot;content&quot;: { # Optional. The content of the MCP Server spec. This payload is validated against the schema for the specified type. The content size is limited to `10KB`.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
+    &quot;type&quot;: &quot;A String&quot;, # Required. The type of the MCP Server spec content.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the Service. Format: `projects/{project}/locations/{location}/services/{service}`.
+  &quot;registryResource&quot;: &quot;A String&quot;, # Output only. The resource name of the resulting Agent, MCP Server, or Endpoint. Format: * `projects/{project}/locations/{location}/mcpServers/{mcp_server}` * `projects/{project}/locations/{location}/agents/{agent}` * `projects/{project}/locations/{location}/endpoints/{endpoint}`
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists Services in a given project and location.
+
+Args:
+  parent: string, Required. The project and location to list services in. Expected format: `projects/{project}/locations/{location}`. (required)
+  filter: string, Optional. A query string used to filter the list of services returned. The filter expression must follow AIP-160 syntax. Filtering is supported on the `name`, `display_name`, `description`, and `labels` fields. Some examples: * `name = &quot;projects/p1/locations/l1/services/s1&quot;` * `display_name = &quot;my-service&quot;` * `description : &quot;myservice description&quot;` * `labels.env = &quot;prod&quot;`
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.
+  pageToken: string, Optional. A token identifying a page of results the server should return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for response to listing Services
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token identifying a page of results the server should return. Used in page_token.
+  &quot;services&quot;: [ # The list of Service resources matching the parent and filter criteria in the request. Each Service resource follows the format: `projects/{project}/locations/{location}/services/{service}`.
+    { # Represents a user-defined Service.
+      &quot;agentSpec&quot;: { # The spec of the agent. # Optional. The spec of the Agent. When `agent_spec` is set, the type of the service is Agent.
+        &quot;content&quot;: { # Optional. The content of the Agent spec in the JSON format. This payload is validated against the schema for the specified type. The content size is limited to `10KB`.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+        &quot;type&quot;: &quot;A String&quot;, # Required. The type of the agent spec content.
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time.
+      &quot;description&quot;: &quot;A String&quot;, # Optional. User-defined description of an Service. Can have a maximum length of `2048` characters.
+      &quot;displayName&quot;: &quot;A String&quot;, # Optional. User-defined display name for the Service. Can have a maximum length of `63` characters.
+      &quot;endpointSpec&quot;: { # The spec of the endpoint. # Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type of the service is Endpoint.
+        &quot;content&quot;: { # Optional. The content of the endpoint spec. Reserved for future use.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+        &quot;type&quot;: &quot;A String&quot;, # Required. The type of the endpoint spec content.
+      },
+      &quot;interfaces&quot;: [ # Optional. The connection details for the Service.
+        { # Represents the connection details for an Agent or MCP Server.
+          &quot;protocolBinding&quot;: &quot;A String&quot;, # Required. The protocol binding of the interface.
+          &quot;url&quot;: &quot;A String&quot;, # Required. The destination URL.
+        },
+      ],
+      &quot;mcpServerSpec&quot;: { # The spec of the MCP Server. # Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the type of the service is MCP Server.
+        &quot;content&quot;: { # Optional. The content of the MCP Server spec. This payload is validated against the schema for the specified type. The content size is limited to `10KB`.
+          &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+        },
+        &quot;type&quot;: &quot;A String&quot;, # Required. The type of the MCP Server spec content.
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the Service. Format: `projects/{project}/locations/{location}/services/{service}`.
+      &quot;registryResource&quot;: &quot;A String&quot;, # Output only. The resource name of the resulting Agent, MCP Server, or Endpoint. Format: * `projects/{project}/locations/{location}/mcpServers/{mcp_server}` * `projects/{project}/locations/{location}/agents/{agent}` * `projects/{project}/locations/{location}/endpoints/{endpoint}`
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</code>
+  <pre>Retrieves the next page of results.
+
+        Args:
+          previous_request: The request for the previous page. (required)
+          previous_response: The response from the request for the previous page. (required)
+
+        Returns:
+          A request object that you can call &#x27;execute()&#x27; on to request the next
+          page. Returns None if there are no more items in the collection.
+        </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, requestId=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates the parameters of a single Service.
+
+Args:
+  name: string, Identifier. The resource name of the Service. Format: `projects/{project}/locations/{location}/services/{service}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a user-defined Service.
+  &quot;agentSpec&quot;: { # The spec of the agent. # Optional. The spec of the Agent. When `agent_spec` is set, the type of the service is Agent.
+    &quot;content&quot;: { # Optional. The content of the Agent spec in the JSON format. This payload is validated against the schema for the specified type. The content size is limited to `10KB`.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
+    &quot;type&quot;: &quot;A String&quot;, # Required. The type of the agent spec content.
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. User-defined description of an Service. Can have a maximum length of `2048` characters.
+  &quot;displayName&quot;: &quot;A String&quot;, # Optional. User-defined display name for the Service. Can have a maximum length of `63` characters.
+  &quot;endpointSpec&quot;: { # The spec of the endpoint. # Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type of the service is Endpoint.
+    &quot;content&quot;: { # Optional. The content of the endpoint spec. Reserved for future use.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
+    &quot;type&quot;: &quot;A String&quot;, # Required. The type of the endpoint spec content.
+  },
+  &quot;interfaces&quot;: [ # Optional. The connection details for the Service.
+    { # Represents the connection details for an Agent or MCP Server.
+      &quot;protocolBinding&quot;: &quot;A String&quot;, # Required. The protocol binding of the interface.
+      &quot;url&quot;: &quot;A String&quot;, # Required. The destination URL.
+    },
+  ],
+  &quot;mcpServerSpec&quot;: { # The spec of the MCP Server. # Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the type of the service is MCP Server.
+    &quot;content&quot;: { # Optional. The content of the MCP Server spec. This payload is validated against the schema for the specified type. The content size is limited to `10KB`.
+      &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+    },
+    &quot;type&quot;: &quot;A String&quot;, # Required. The type of the MCP Server spec content.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the Service. Format: `projects/{project}/locations/{location}/services/{service}`.
+  &quot;registryResource&quot;: &quot;A String&quot;, # Output only. The resource name of the resulting Agent, MCP Server, or Endpoint. Format: * `projects/{project}/locations/{location}/mcpServers/{mcp_server}` * `projects/{project}/locations/{location}/agents/{agent}` * `projects/{project}/locations/{location}/endpoints/{endpoint}`
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Update time.
+}
+
+  requestId: string, Optional. 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. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).
+  updateMask: string, Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields present in the request will be overwritten.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/aiplatform_v1.endpoints.html b/docs/dyn/aiplatform_v1.endpoints.html
index f0829db..fd2b3c5 100644
--- a/docs/dyn/aiplatform_v1.endpoints.html
+++ b/docs/dyn/aiplatform_v1.endpoints.html
@@ -668,6 +668,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1286,6 +1287,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2218,6 +2220,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1.html b/docs/dyn/aiplatform_v1.html
index 61ee2cc..a4068f8 100644
--- a/docs/dyn/aiplatform_v1.html
+++ b/docs/dyn/aiplatform_v1.html
@@ -225,6 +225,11 @@
 <p class="firstline">Returns the schedules Resource.</p>
 
 <p class="toc_element">
+  <code><a href="aiplatform_v1.semanticGovernancePolicies.html">semanticGovernancePolicies()</a></code>
+</p>
+<p class="firstline">Returns the semanticGovernancePolicies Resource.</p>
+
+<p class="toc_element">
   <code><a href="aiplatform_v1.skills.html">skills()</a></code>
 </p>
 <p class="firstline">Returns the skills Resource.</p>
diff --git a/docs/dyn/aiplatform_v1.projects.locations.agents.html b/docs/dyn/aiplatform_v1.projects.locations.agents.html
new file mode 100644
index 0000000..9f1e358
--- /dev/null
+++ b/docs/dyn/aiplatform_v1.projects.locations.agents.html
@@ -0,0 +1,373 @@
+<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="aiplatform_v1.html">Agent Platform API</a> . <a href="aiplatform_v1.projects.html">projects</a> . <a href="aiplatform_v1.projects.locations.html">locations</a> . <a href="aiplatform_v1.projects.locations.agents.html">agents</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 an agent.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes an agent.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Retrieves an agent.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists agents in a location.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates an agent.</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 an agent.
+
+Args:
+  parent: string, Required. The resource name of the location to create the agent in. Format: `projects/{project}/locations/{location}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A Vertex agent contains instructions and configurations for the LLM to execute a certain task.
+  &quot;base_agent&quot;: &quot;A String&quot;, # Required. The base agent for the agent. Supported values: * `antigravity-preview-05-2026`
+  &quot;base_environment&quot;: &quot;&quot;, # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`.
+  &quot;created&quot;: &quot;A String&quot;, # Output only. The time the agent was created.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the agent.
+  &quot;id&quot;: &quot;A String&quot;, # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.
+  &quot;metadata&quot;: { # Optional. The metadata for the agent.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
+  &quot;object&quot;: &quot;A String&quot;, # Output only. The object type of the resource. For agents, the value is `agent`.
+  &quot;system_instruction&quot;: &quot;A String&quot;, # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction.
+  &quot;tools&quot;: [ # Optional. The tools available to the agent.
+    { # A tool provides a list of actions available to the Agent during the process of executing a task.
+      &quot;headers&quot;: { # Optional. The headers for the MCP server, such as for authentication. Only applicable when `type` is `mcp_server`.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Optional. The name of the MCP server. Only applicable when `type` is `mcp_server`.
+      &quot;type&quot;: &quot;A String&quot;, # Required. The type of the tool. Supported types: * `code_execution` * `filesystem` * `google_search` * `mcp_server` * `url_context`
+      &quot;url&quot;: &quot;A String&quot;, # Optional. The URL for the MCP server endpoint. Only applicable when `type` is `mcp_server`.
+    },
+  ],
+  &quot;updated&quot;: &quot;A String&quot;, # Output only. The time the agent was last updated.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes an agent.
+
+Args:
+  name: string, Required. The resource name of the agent to delete. Format: `projects/{project}/locations/{location}/agents/{agent}`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Retrieves an agent.
+
+Args:
+  name: string, Required. The resource name of the agent to retrieve. Format: `projects/{project}/locations/{location}/agents/{agent}`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task.
+  &quot;base_agent&quot;: &quot;A String&quot;, # Required. The base agent for the agent. Supported values: * `antigravity-preview-05-2026`
+  &quot;base_environment&quot;: &quot;&quot;, # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`.
+  &quot;created&quot;: &quot;A String&quot;, # Output only. The time the agent was created.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the agent.
+  &quot;id&quot;: &quot;A String&quot;, # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.
+  &quot;metadata&quot;: { # Optional. The metadata for the agent.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
+  &quot;object&quot;: &quot;A String&quot;, # Output only. The object type of the resource. For agents, the value is `agent`.
+  &quot;system_instruction&quot;: &quot;A String&quot;, # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction.
+  &quot;tools&quot;: [ # Optional. The tools available to the agent.
+    { # A tool provides a list of actions available to the Agent during the process of executing a task.
+      &quot;headers&quot;: { # Optional. The headers for the MCP server, such as for authentication. Only applicable when `type` is `mcp_server`.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Optional. The name of the MCP server. Only applicable when `type` is `mcp_server`.
+      &quot;type&quot;: &quot;A String&quot;, # Required. The type of the tool. Supported types: * `code_execution` * `filesystem` * `google_search` * `mcp_server` * `url_context`
+      &quot;url&quot;: &quot;A String&quot;, # Optional. The URL for the MCP server endpoint. Only applicable when `type` is `mcp_server`.
+    },
+  ],
+  &quot;updated&quot;: &quot;A String&quot;, # Output only. The time the agent was last updated.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists agents in a location.
+
+Args:
+  parent: string, Required. The resource name of the location to list agents from. Format: `projects/{project}/locations/{location}`. (required)
+  orderBy: string, Optional. A comma-separated list of fields to order by. Supported fields: * `created` * `updated` Use `desc` after a field name for descending order. Example: `created desc`.
+  pageSize: integer, Optional. The maximum number of agents to return. The service may return fewer than this value. The maximum page size is 100; values above 100 will be coerced to 100. If unspecified, the default page size is 10.
+  pageToken: string, Optional. A page token, received from a previous AgentService.ListAgents call. Provide this to retrieve the subsequent page.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for AgentService.ListAgents.
+  &quot;agents&quot;: [ # The agents matching the request.
+    { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task.
+      &quot;base_agent&quot;: &quot;A String&quot;, # Required. The base agent for the agent. Supported values: * `antigravity-preview-05-2026`
+      &quot;base_environment&quot;: &quot;&quot;, # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`.
+      &quot;created&quot;: &quot;A String&quot;, # Output only. The time the agent was created.
+      &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the agent.
+      &quot;id&quot;: &quot;A String&quot;, # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.
+      &quot;metadata&quot;: { # Optional. The metadata for the agent.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
+      &quot;object&quot;: &quot;A String&quot;, # Output only. The object type of the resource. For agents, the value is `agent`.
+      &quot;system_instruction&quot;: &quot;A String&quot;, # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction.
+      &quot;tools&quot;: [ # Optional. The tools available to the agent.
+        { # A tool provides a list of actions available to the Agent during the process of executing a task.
+          &quot;headers&quot;: { # Optional. The headers for the MCP server, such as for authentication. Only applicable when `type` is `mcp_server`.
+            &quot;a_key&quot;: &quot;A String&quot;,
+          },
+          &quot;name&quot;: &quot;A String&quot;, # Optional. The name of the MCP server. Only applicable when `type` is `mcp_server`.
+          &quot;type&quot;: &quot;A String&quot;, # Required. The type of the tool. Supported types: * `code_execution` * `filesystem` * `google_search` * `mcp_server` * `url_context`
+          &quot;url&quot;: &quot;A String&quot;, # Optional. The URL for the MCP server endpoint. Only applicable when `type` is `mcp_server`.
+        },
+      ],
+      &quot;updated&quot;: &quot;A String&quot;, # Output only. The time the agent was last updated.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve the next page of results. Pass this value as ListAgentsRequest.page_token in a subsequent call.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</code>
+  <pre>Retrieves the next page of results.
+
+        Args:
+          previous_request: The request for the previous page. (required)
+          previous_response: The response from the request for the previous page. (required)
+
+        Returns:
+          A request object that you can call &#x27;execute()&#x27; on to request the next
+          page. Returns None if there are no more items in the collection.
+        </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates an agent.
+
+Args:
+  name: string, Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A Vertex agent contains instructions and configurations for the LLM to execute a certain task.
+  &quot;base_agent&quot;: &quot;A String&quot;, # Required. The base agent for the agent. Supported values: * `antigravity-preview-05-2026`
+  &quot;base_environment&quot;: &quot;&quot;, # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`.
+  &quot;created&quot;: &quot;A String&quot;, # Output only. The time the agent was created.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the agent.
+  &quot;id&quot;: &quot;A String&quot;, # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.
+  &quot;metadata&quot;: { # Optional. The metadata for the agent.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
+  &quot;object&quot;: &quot;A String&quot;, # Output only. The object type of the resource. For agents, the value is `agent`.
+  &quot;system_instruction&quot;: &quot;A String&quot;, # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction.
+  &quot;tools&quot;: [ # Optional. The tools available to the agent.
+    { # A tool provides a list of actions available to the Agent during the process of executing a task.
+      &quot;headers&quot;: { # Optional. The headers for the MCP server, such as for authentication. Only applicable when `type` is `mcp_server`.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Optional. The name of the MCP server. Only applicable when `type` is `mcp_server`.
+      &quot;type&quot;: &quot;A String&quot;, # Required. The type of the tool. Supported types: * `code_execution` * `filesystem` * `google_search` * `mcp_server` * `url_context`
+      &quot;url&quot;: &quot;A String&quot;, # Optional. The URL for the MCP server endpoint. Only applicable when `type` is `mcp_server`.
+    },
+  ],
+  &quot;updated&quot;: &quot;A String&quot;, # Output only. The time the agent was last updated.
+}
+
+  updateMask: string, Optional. The list of fields to update. If not present, all fields are updated.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A Vertex agent contains instructions and configurations for the LLM to execute a certain task.
+  &quot;base_agent&quot;: &quot;A String&quot;, # Required. The base agent for the agent. Supported values: * `antigravity-preview-05-2026`
+  &quot;base_environment&quot;: &quot;&quot;, # Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`.
+  &quot;created&quot;: &quot;A String&quot;, # Output only. The time the agent was created.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the agent.
+  &quot;id&quot;: &quot;A String&quot;, # Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.
+  &quot;metadata&quot;: { # Optional. The metadata for the agent.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.
+  &quot;object&quot;: &quot;A String&quot;, # Output only. The object type of the resource. For agents, the value is `agent`.
+  &quot;system_instruction&quot;: &quot;A String&quot;, # Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction.
+  &quot;tools&quot;: [ # Optional. The tools available to the agent.
+    { # A tool provides a list of actions available to the Agent during the process of executing a task.
+      &quot;headers&quot;: { # Optional. The headers for the MCP server, such as for authentication. Only applicable when `type` is `mcp_server`.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Optional. The name of the MCP server. Only applicable when `type` is `mcp_server`.
+      &quot;type&quot;: &quot;A String&quot;, # Required. The type of the tool. Supported types: * `code_execution` * `filesystem` * `google_search` * `mcp_server` * `url_context`
+      &quot;url&quot;: &quot;A String&quot;, # Optional. The URL for the MCP server endpoint. Only applicable when `type` is `mcp_server`.
+    },
+  ],
+  &quot;updated&quot;: &quot;A String&quot;, # Output only. The time the agent was last updated.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/aiplatform_v1.projects.locations.cachedContents.html b/docs/dyn/aiplatform_v1.projects.locations.cachedContents.html
index 559424f..7701ea3 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.cachedContents.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.cachedContents.html
@@ -421,6 +421,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -839,6 +840,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1282,6 +1284,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1711,6 +1714,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2148,6 +2152,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2567,6 +2572,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1.projects.locations.endpoints.html b/docs/dyn/aiplatform_v1.projects.locations.endpoints.html
index 834d9ec..c0a621f 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.endpoints.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.endpoints.html
@@ -736,6 +736,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2250,6 +2251,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -4664,6 +4666,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1.projects.locations.evaluationSets.html b/docs/dyn/aiplatform_v1.projects.locations.evaluationSets.html
index 797e871..a87310d 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.evaluationSets.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.evaluationSets.html
@@ -259,6 +259,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -513,6 +514,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -809,6 +811,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1096,6 +1099,7 @@
               &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
               },
+              &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
             },
             &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
               &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1409,6 +1413,7 @@
                 &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                   &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                 },
+                &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
               },
               &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                 &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1682,6 +1687,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1937,6 +1943,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1.projects.locations.html b/docs/dyn/aiplatform_v1.projects.locations.html
index 2973a0c..3323ba7 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.html
@@ -75,6 +75,11 @@
 <h1><a href="aiplatform_v1.html">Agent Platform API</a> . <a href="aiplatform_v1.projects.html">projects</a> . <a href="aiplatform_v1.projects.locations.html">locations</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="aiplatform_v1.projects.locations.agents.html">agents()</a></code>
+</p>
+<p class="firstline">Returns the agents Resource.</p>
+
+<p class="toc_element">
   <code><a href="aiplatform_v1.projects.locations.batchPredictionJobs.html">batchPredictionJobs()</a></code>
 </p>
 <p class="firstline">Returns the batchPredictionJobs Resource.</p>
@@ -240,6 +245,16 @@
 <p class="firstline">Returns the schedules Resource.</p>
 
 <p class="toc_element">
+  <code><a href="aiplatform_v1.projects.locations.semanticGovernancePolicies.html">semanticGovernancePolicies()</a></code>
+</p>
+<p class="firstline">Returns the semanticGovernancePolicies Resource.</p>
+
+<p class="toc_element">
+  <code><a href="aiplatform_v1.projects.locations.semanticGovernancePolicyEngine.html">semanticGovernancePolicyEngine()</a></code>
+</p>
+<p class="firstline">Returns the semanticGovernancePolicyEngine Resource.</p>
+
+<p class="toc_element">
   <code><a href="aiplatform_v1.projects.locations.skills.html">skills()</a></code>
 </p>
 <p class="firstline">Returns the skills Resource.</p>
@@ -312,6 +327,9 @@
   <code><a href="#getRagEngineConfig">getRagEngineConfig(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets a RagEngineConfig.</p>
 <p class="toc_element">
+  <code><a href="#getSemanticGovernancePolicyEngine">getSemanticGovernancePolicyEngine(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets a SemanticGovernancePolicyEngine. A SemanticGovernancePolicyEngine is a singleton resource that is created when its parent is created, and deleted when its parent is deleted. This method retrieves the current state of the Semantic Governance Policy Engine.</p>
+<p class="toc_element">
   <code><a href="#list">list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.</p>
 <p class="toc_element">
@@ -323,6 +341,9 @@
 <p class="toc_element">
   <code><a href="#updateRagEngineConfig">updateRagEngineConfig(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Updates a RagEngineConfig.</p>
+<p class="toc_element">
+  <code><a href="#updateSemanticGovernancePolicyEngine">updateSemanticGovernancePolicyEngine(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates a SemanticGovernancePolicyEngine. This method performs an upsert operation. If the SemanticGovernancePolicyEngine resource does not exist, it will be created. Otherwise, it will be updated.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="askContexts">askContexts(parent, body=None, x__xgafv=None)</code>
@@ -489,6 +510,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -774,6 +796,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2509,6 +2532,7 @@
                 &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                   &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                 },
+                &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
               },
               &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                 &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2826,6 +2850,7 @@
                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                   },
+                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                 },
                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -3214,6 +3239,7 @@
               &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
               },
+              &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
             },
             &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
               &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -3444,6 +3470,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -5713,6 +5740,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -6636,6 +6664,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -6820,6 +6849,42 @@
 </div>
 
 <div class="method">
+    <code class="details" id="getSemanticGovernancePolicyEngine">getSemanticGovernancePolicyEngine(name, x__xgafv=None)</code>
+  <pre>Gets a SemanticGovernancePolicyEngine. A SemanticGovernancePolicyEngine is a singleton resource that is created when its parent is created, and deleted when its parent is deleted. This method retrieves the current state of the Semantic Governance Policy Engine.
+
+Args:
+  name: string, Required. The resource name of the SemanticGovernancePolicyEngine to retrieve. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Define a singleton SemanticGovernancePolicyEngine resource under a project and location.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this SemanticGovernancePolicyEngine was created.
+  &quot;gatewayConfigs&quot;: { # Optional. Configurations for gateways. The keys are user-defined names for each gateway. At most 5 gateway configurations are allowed.
+    &quot;a_key&quot;: { # Configuration for a single gateway.
+      &quot;dnsRecord&quot;: &quot;A String&quot;, # Output only. The fully qualified record name of the created A-record in Cloud DNS.
+      &quot;dnsZoneName&quot;: &quot;A String&quot;, # Optional. FQDN of the private DNS zone to create DNS record set for PSC endpoint.
+      &quot;ipAddress&quot;: &quot;A String&quot;, # Output only. The private IP address of the PSC endpoint.
+      &quot;network&quot;: &quot;A String&quot;, # Optional. The URI of the network resource where PSC-E will be provisioned. if not provided `default` network will be used. Format: projects/{project}/global/networks/{network}
+      &quot;pscEndpoint&quot;: &quot;A String&quot;, # Output only. The self-link or name of the Private Service Connect endpoint forwarding rule.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the Gateway configuration.
+      &quot;subnetwork&quot;: &quot;A String&quot;, # Optional. The URI of the subnetwork resource where PSC-E will be provisioned. if not provided `default` subnet will be used from the same {location} Format: projects/{project}/regions/{region}/subnetworks/{subnetwork}
+    },
+  },
+  &quot;ipAddress&quot;: &quot;A String&quot;, # Output only. The private IPv4 address of the PSC endpoint.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the SemanticGovernancePolicyEngine. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine
+  &quot;pscForwardingRule&quot;: &quot;A String&quot;, # Output only. The URI of the PSC endpoint resource created in customer project. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}
+  &quot;pscServiceAttachment&quot;: &quot;A String&quot;, # Output only. URI of the PSC attachment resource provided by SGP. Format: projects/{project}/regions/{region}/serviceAttachments/{service_attachment}
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the SemanticGovernancePolicyEngine.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this SemanticGovernancePolicyEngine was last updated.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="list">list(name, extraLocationTypes=None, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
   <pre>Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.
 
@@ -7000,4 +7065,64 @@
 }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="updateSemanticGovernancePolicyEngine">updateSemanticGovernancePolicyEngine(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates a SemanticGovernancePolicyEngine. This method performs an upsert operation. If the SemanticGovernancePolicyEngine resource does not exist, it will be created. Otherwise, it will be updated.
+
+Args:
+  name: string, Identifier. The resource name of the SemanticGovernancePolicyEngine. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Define a singleton SemanticGovernancePolicyEngine resource under a project and location.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this SemanticGovernancePolicyEngine was created.
+  &quot;gatewayConfigs&quot;: { # Optional. Configurations for gateways. The keys are user-defined names for each gateway. At most 5 gateway configurations are allowed.
+    &quot;a_key&quot;: { # Configuration for a single gateway.
+      &quot;dnsRecord&quot;: &quot;A String&quot;, # Output only. The fully qualified record name of the created A-record in Cloud DNS.
+      &quot;dnsZoneName&quot;: &quot;A String&quot;, # Optional. FQDN of the private DNS zone to create DNS record set for PSC endpoint.
+      &quot;ipAddress&quot;: &quot;A String&quot;, # Output only. The private IP address of the PSC endpoint.
+      &quot;network&quot;: &quot;A String&quot;, # Optional. The URI of the network resource where PSC-E will be provisioned. if not provided `default` network will be used. Format: projects/{project}/global/networks/{network}
+      &quot;pscEndpoint&quot;: &quot;A String&quot;, # Output only. The self-link or name of the Private Service Connect endpoint forwarding rule.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the Gateway configuration.
+      &quot;subnetwork&quot;: &quot;A String&quot;, # Optional. The URI of the subnetwork resource where PSC-E will be provisioned. if not provided `default` subnet will be used from the same {location} Format: projects/{project}/regions/{region}/subnetworks/{subnetwork}
+    },
+  },
+  &quot;ipAddress&quot;: &quot;A String&quot;, # Output only. The private IPv4 address of the PSC endpoint.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the SemanticGovernancePolicyEngine. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine
+  &quot;pscForwardingRule&quot;: &quot;A String&quot;, # Output only. The URI of the PSC endpoint resource created in customer project. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}
+  &quot;pscServiceAttachment&quot;: &quot;A String&quot;, # Output only. URI of the PSC attachment resource provided by SGP. Format: projects/{project}/regions/{region}/serviceAttachments/{service_attachment}
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the SemanticGovernancePolicyEngine.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this SemanticGovernancePolicyEngine was last updated.
+}
+
+  updateMask: string, Optional. Specifies the fields to be overwritten in the SemanticGovernancePolicyEngine resource by the update. The fields specified in the update_mask are relative to the resource itself. If no update_mask is provided, all fields are overwritten.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html b/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html
index 77c5223..faf263e 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.publishers.models.html
@@ -675,6 +675,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1442,6 +1443,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2602,6 +2604,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.memories.html b/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.memories.html
index 200d551..75509ee 100644
--- a/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.memories.html
+++ b/docs/dyn/aiplatform_v1.projects.locations.reasoningEngines.memories.html
@@ -100,6 +100,9 @@
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Get a Memory.</p>
 <p class="toc_element">
+  <code><a href="#ingestEvents">ingestEvents(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Ingests events for a Memory Bank.</p>
+<p class="toc_element">
   <code><a href="#list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
 <p class="firstline">List Memories.</p>
 <p class="toc_element">
@@ -445,6 +448,141 @@
 </div>
 
 <div class="method">
+    <code class="details" id="ingestEvents">ingestEvents(parent, body=None, x__xgafv=None)</code>
+  <pre>Ingests events for a Memory Bank.
+
+Args:
+  parent: string, Required. The resource name of the ReasoningEngine to ingest events to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for MemoryBankService.IngestEvents.
+  &quot;directContentsSource&quot;: { # Ingest events directly from the request. # Ingest events directly from the request.
+    &quot;events&quot;: [ # Required. The events to ingest.
+      { # A single event to ingest.
+        &quot;content&quot;: { # The structured data content of a message. A Content message contains a `role` field, which indicates the producer of the content, and a `parts` field, which contains the multi-part data of the message. # Required. The content of the event.
+          &quot;parts&quot;: [ # Required. A list of Part objects that make up a single message. Parts of a message can have different MIME types. A Content message must have at least one Part.
+            { # A datatype containing media that is part of a multi-part Content message. A `Part` consists of data which has an associated datatype. A `Part` can only contain one of the accepted types in `Part.data`. For media types that are not text, `Part` must have a fixed IANA MIME type identifying the type and subtype of the media if `inline_data` or `file_data` field is filled with raw bytes.
+              &quot;codeExecutionResult&quot;: { # Result of executing the ExecutableCode. Generated only when the `CodeExecution` tool is used. # Optional. The result of executing the ExecutableCode.
+                &quot;outcome&quot;: &quot;A String&quot;, # Required. Outcome of the code execution.
+                &quot;output&quot;: &quot;A String&quot;, # Optional. Contains stdout when code execution is successful, stderr or other description otherwise.
+              },
+              &quot;executableCode&quot;: { # Code generated by the model that is meant to be executed, and the result returned to the model. Generated when using the `CodeExecution` tool, in which the code will be automatically executed, and a corresponding CodeExecutionResult will also be generated. # Optional. Code generated by the model that is intended to be executed.
+                &quot;code&quot;: &quot;A String&quot;, # Required. The code to be executed.
+                &quot;language&quot;: &quot;A String&quot;, # Required. Programming language of the `code`.
+              },
+              &quot;fileData&quot;: { # URI-based data. A FileData message contains a URI pointing to data of a specific media type. It is used to represent images, audio, and video stored in Google Cloud Storage. # Optional. The URI-based data of the part. This can be used to include files from Google Cloud Storage.
+                &quot;displayName&quot;: &quot;A String&quot;, # Optional. The display name of the file. Used to provide a label or filename to distinguish files. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                &quot;fileUri&quot;: &quot;A String&quot;, # Required. The URI of the file in Google Cloud Storage.
+                &quot;mimeType&quot;: &quot;A String&quot;, # Required. The IANA standard MIME type of the source data.
+              },
+              &quot;functionCall&quot;: { # A predicted FunctionCall returned from the model that contains a string representing the FunctionDeclaration.name and a structured JSON object containing the parameters and their values. # Optional. A predicted function call returned from the model. This contains the name of the function to call and the arguments to pass to the function.
+                &quot;args&quot;: { # Optional. The function parameters and values in JSON object format. See FunctionDeclaration.parameters for parameter details.
+                  &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+                },
+                &quot;name&quot;: &quot;A String&quot;, # Optional. The name of the function to call. Matches FunctionDeclaration.name.
+                &quot;partialArgs&quot;: [ # Optional. The partial argument value of the function call. If provided, represents the arguments/fields that are streamed incrementally.
+                  { # Partial argument value of the function call.
+                    &quot;boolValue&quot;: True or False, # Optional. Represents a boolean value.
+                    &quot;jsonPath&quot;: &quot;A String&quot;, # Required. A JSON Path (RFC 9535) to the argument being streamed. https://datatracker.ietf.org/doc/html/rfc9535. e.g. &quot;$.foo.bar[0].data&quot;.
+                    &quot;nullValue&quot;: &quot;A String&quot;, # Optional. Represents a null value.
+                    &quot;numberValue&quot;: 3.14, # Optional. Represents a double value.
+                    &quot;stringValue&quot;: &quot;A String&quot;, # Optional. Represents a string value.
+                    &quot;willContinue&quot;: True or False, # Optional. Whether this is not the last part of the same json_path. If true, another PartialArg message for the current json_path is expected to follow.
+                  },
+                ],
+                &quot;willContinue&quot;: True or False, # Optional. Whether this is the last part of the FunctionCall. If true, another partial message for the current FunctionCall is expected to follow.
+              },
+              &quot;functionResponse&quot;: { # The result output from a FunctionCall that contains a string representing the FunctionDeclaration.name and a structured JSON object containing any output from the function is used as context to the model. This should contain the result of a `FunctionCall` made based on model prediction. # Optional. The result of a function call. This is used to provide the model with the result of a function call that it predicted.
+                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the function to call. Matches FunctionDeclaration.name and FunctionCall.name.
+                &quot;parts&quot;: [ # Optional. Ordered `Parts` that constitute a function response. Parts may have different IANA MIME types.
+                  { # A datatype containing media that is part of a `FunctionResponse` message. A `FunctionResponsePart` consists of data which has an associated datatype. A `FunctionResponsePart` can only contain one of the accepted types in `FunctionResponsePart.data`. A `FunctionResponsePart` must have a fixed IANA MIME type identifying the type and subtype of the media if the `inline_data` field is filled with raw bytes.
+                    &quot;fileData&quot;: { # URI based data for function response. # URI based data.
+                      &quot;displayName&quot;: &quot;A String&quot;, # Optional. Display name of the file data. Used to provide a label or filename to distinguish file datas. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                      &quot;fileUri&quot;: &quot;A String&quot;, # Required. URI.
+                      &quot;mimeType&quot;: &quot;A String&quot;, # Required. The IANA standard MIME type of the source data.
+                    },
+                    &quot;inlineData&quot;: { # Raw media bytes for function response. Text should not be sent as raw bytes, use the &#x27;text&#x27; field. # Inline media bytes.
+                      &quot;data&quot;: &quot;A String&quot;, # Required. Raw bytes.
+                      &quot;displayName&quot;: &quot;A String&quot;, # Optional. Display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in PromptMessage for prompt management. It is currently used in the Gemini GenerateContent calls only when server side tools (code_execution, google_search, and url_context) are enabled.
+                      &quot;mimeType&quot;: &quot;A String&quot;, # Required. The IANA standard MIME type of the source data.
+                    },
+                  },
+                ],
+                &quot;response&quot;: { # Required. The function response in JSON object format. Use &quot;output&quot; key to specify function output and &quot;error&quot; key to specify error details (if any). If &quot;output&quot; and &quot;error&quot; keys are not specified, then whole &quot;response&quot; is treated as function output.
+                  &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
+                },
+                &quot;scheduling&quot;: &quot;A String&quot;, # Optional. Specifies how the response should be scheduled in the conversation. Only applicable to NON_BLOCKING function calls, is ignored otherwise. Defaults to WHEN_IDLE.
+              },
+              &quot;inlineData&quot;: { # A content blob. A Blob contains data of a specific media type. It is used to represent images, audio, and video. # Optional. The inline data content of the part. This can be used to include images, audio, or video in a request.
+                &quot;data&quot;: &quot;A String&quot;, # Required. The raw bytes of the data.
+                &quot;displayName&quot;: &quot;A String&quot;, # Optional. The display name of the blob. Used to provide a label or filename to distinguish blobs. This field is only returned in `PromptMessage` for prompt management. It is used in the Gemini calls only when server-side tools (`code_execution`, `google_search`, and `url_context`) are enabled.
+                &quot;mimeType&quot;: &quot;A String&quot;, # Required. The IANA standard MIME type of the source data.
+              },
+              &quot;mediaResolution&quot;: { # per part media resolution. Media resolution for the input media. # per part media resolution. Media resolution for the input media.
+                &quot;level&quot;: &quot;A String&quot;, # The tokenization quality used for given media.
+              },
+              &quot;text&quot;: &quot;A String&quot;, # Optional. The text content of the part. When sent from the VSCode Gemini Code Assist extension, references to @mentioned items will be converted to markdown boldface text. For example `@my-repo` will be converted to and sent as `**my-repo**` by the IDE agent.
+              &quot;thought&quot;: True or False, # Optional. Indicates whether the `part` represents the model&#x27;s thought process or reasoning.
+              &quot;thoughtSignature&quot;: &quot;A String&quot;, # Optional. An opaque signature for the thought so it can be reused in subsequent requests.
+              &quot;videoMetadata&quot;: { # Provides metadata for a video, including the start and end offsets for clipping and the frame rate. # Optional. Video metadata. The metadata should only be specified while the video data is presented in inline_data or file_data.
+                &quot;endOffset&quot;: &quot;A String&quot;, # Optional. The end offset of the video.
+                &quot;fps&quot;: 3.14, # Optional. The frame rate of the video sent to the model. If not specified, the default value is 1.0. The valid range is (0.0, 24.0].
+                &quot;startOffset&quot;: &quot;A String&quot;, # Optional. The start offset of the video.
+              },
+            },
+          ],
+          &quot;role&quot;: &quot;A String&quot;, # Optional. The producer of the content. Must be either &#x27;user&#x27; or &#x27;model&#x27;. If not set, the service will default to &#x27;user&#x27;.
+        },
+        &quot;eventId&quot;: &quot;A String&quot;, # Optional. A unique identifier for the event. If an event with the same event_id is ingested multiple times, it will be de-duplicated.
+        &quot;eventTime&quot;: &quot;A String&quot;, # Optional. The time at which the event occurred. If provided, this timestamp will be used for ordering events within a stream. If not provided, the server-side ingestion time will be used.
+      },
+    ],
+  },
+  &quot;forceFlush&quot;: True or False, # Optional. Forces a flush of all pending events in the stream and triggers memory generation immediately bypassing any conditions configured in the `generation_trigger_config`.
+  &quot;generationTriggerConfig&quot;: { # Represents configuration for triggering generation. # Optional. Configuration for triggering memory generation from this ingestion. If not set, then the stream will be force flushed immediately.
+    &quot;generationRule&quot;: { # Represents the active rule that determines when to flush the buffer. # Optional. Represents the active rule that determines when to flush the buffer. If not set, then the stream will be force flushed immediately.
+      &quot;eventCount&quot;: 42, # Optional. Specifies to trigger generation when the event count reaches this limit.
+      &quot;fixedInterval&quot;: &quot;A String&quot;, # Optional. Specifies to trigger generation at a fixed interval. The duration must have a minute-level granularity.
+      &quot;idleDuration&quot;: &quot;A String&quot;, # Optional. Specifies to trigger generation if the stream is inactive for the specified duration after the most recent event. The duration must have a minute-level granularity.
+    },
+  },
+  &quot;scope&quot;: { # Required. The scope of the memories that should be generated from the stream. Memories will be consolidated across memories with the same scope. Scope values cannot contain the wildcard character &#x27;*&#x27;.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;streamId&quot;: &quot;A String&quot;, # Optional. The ID of the stream to ingest events into. If not provided, a new one will be created.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
   <pre>List Memories.
 
diff --git a/docs/dyn/aiplatform_v1.projects.locations.semanticGovernancePolicies.html b/docs/dyn/aiplatform_v1.projects.locations.semanticGovernancePolicies.html
new file mode 100644
index 0000000..34f6f57
--- /dev/null
+++ b/docs/dyn/aiplatform_v1.projects.locations.semanticGovernancePolicies.html
@@ -0,0 +1,354 @@
+<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="aiplatform_v1.html">Agent Platform API</a> . <a href="aiplatform_v1.projects.html">projects</a> . <a href="aiplatform_v1.projects.locations.html">locations</a> . <a href="aiplatform_v1.projects.locations.semanticGovernancePolicies.html">semanticGovernancePolicies</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="aiplatform_v1.projects.locations.semanticGovernancePolicies.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">
+  <code><a href="#create">create(parent, body=None, semanticGovernancePolicyId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a SemanticGovernancePolicy.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, etag=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a SemanticGovernancePolicy.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets a SemanticGovernancePolicy.</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 SemanticGovernancePolicies in a given location.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</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 SemanticGovernancePolicy.</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, semanticGovernancePolicyId=None, x__xgafv=None)</code>
+  <pre>Creates a SemanticGovernancePolicy.
+
+Args:
+  parent: string, Required. The resource name of the Location into which to create the SemanticGovernancePolicy. Format: `projects/{project}/locations/{location}` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a governance policy applied to a specific Agent and optionally a specific Tool within that Agent.
+  &quot;agent&quot;: &quot;A String&quot;, # Required. The name of the agent in Agent Registry that is affected by this policy.
+  &quot;agentIdentity&quot;: &quot;A String&quot;, # Output only. Represents the principal of the agent, used by the Policy Decision Point (PDP) for governance checks. For more information, see https://docs.cloud.google.com/agent-builder/agent-engine/agent-identity Format: `principal://TRUST_DOMAIN/NAMESPACE/AGENT_NAME` Example: `principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID`
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this SemanticGovernancePolicy was created.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the SemanticGovernancePolicy.
+  &quot;displayName&quot;: &quot;A String&quot;, # Optional. The user-defined name of the SemanticGovernancePolicy.
+  &quot;etag&quot;: &quot;A String&quot;, # Optional. Used to perform consistent read-modify-write transactions. If provided, the request will only succeed if the etag matches the current value. Otherwise, an ABORTED error will be returned.
+  &quot;mcpTools&quot;: [ # Optional. The McpTools that are affected by this policy.
+    { # Represents a governance policy applied to MCP tools used by an Agent.
+      &quot;mcpServer&quot;: &quot;A String&quot;, # Required. The resource name of the McpServer in Agent Registry that is affected by this policy. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+      &quot;tools&quot;: [ # Optional. The resource names of the McpTools used by the Agent that is affected by this policy. If not specified, the policy applies to all McpTools in the McpServer.
+        &quot;A String&quot;,
+      ],
+    },
+  ],
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. Resource name of the SemanticGovernancePolicy.
+  &quot;naturalLanguageConstraint&quot;: &quot;A String&quot;, # Required. The natural language constraint of the SemanticGovernancePolicy.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this SemanticGovernancePolicy was last updated.
+}
+
+  semanticGovernancePolicyId: string, Required. The ID to use for the SemanticGovernancePolicy, which will become the final component of the SemanticGovernancePolicy&#x27;s resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character cannot be a number or hyphen. The last character must be a letter or a number.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, etag=None, x__xgafv=None)</code>
+  <pre>Deletes a SemanticGovernancePolicy.
+
+Args:
+  name: string, Required. The name of the SemanticGovernancePolicy resource to be deleted. Format: `projects/{project}/locations/{location}/semanticGovernancePolicies/{semantic_governance_policy}` (required)
+  etag: string, Optional. The etag of the SemanticGovernancePolicy. If an etag is provided and does not match the current etag of the SemanticGovernancePolicy, deletion will be blocked and an ABORTED error will be returned.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets a SemanticGovernancePolicy.
+
+Args:
+  name: string, Required. The name of the SemanticGovernancePolicy resource. Format: `projects/{project}/locations/{location}/semanticGovernancePolicies/{semantic_governance_policy}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a governance policy applied to a specific Agent and optionally a specific Tool within that Agent.
+  &quot;agent&quot;: &quot;A String&quot;, # Required. The name of the agent in Agent Registry that is affected by this policy.
+  &quot;agentIdentity&quot;: &quot;A String&quot;, # Output only. Represents the principal of the agent, used by the Policy Decision Point (PDP) for governance checks. For more information, see https://docs.cloud.google.com/agent-builder/agent-engine/agent-identity Format: `principal://TRUST_DOMAIN/NAMESPACE/AGENT_NAME` Example: `principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID`
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this SemanticGovernancePolicy was created.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the SemanticGovernancePolicy.
+  &quot;displayName&quot;: &quot;A String&quot;, # Optional. The user-defined name of the SemanticGovernancePolicy.
+  &quot;etag&quot;: &quot;A String&quot;, # Optional. Used to perform consistent read-modify-write transactions. If provided, the request will only succeed if the etag matches the current value. Otherwise, an ABORTED error will be returned.
+  &quot;mcpTools&quot;: [ # Optional. The McpTools that are affected by this policy.
+    { # Represents a governance policy applied to MCP tools used by an Agent.
+      &quot;mcpServer&quot;: &quot;A String&quot;, # Required. The resource name of the McpServer in Agent Registry that is affected by this policy. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+      &quot;tools&quot;: [ # Optional. The resource names of the McpTools used by the Agent that is affected by this policy. If not specified, the policy applies to all McpTools in the McpServer.
+        &quot;A String&quot;,
+      ],
+    },
+  ],
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. Resource name of the SemanticGovernancePolicy.
+  &quot;naturalLanguageConstraint&quot;: &quot;A String&quot;, # Required. The natural language constraint of the SemanticGovernancePolicy.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this SemanticGovernancePolicy was last updated.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists SemanticGovernancePolicies in a given location.
+
+Args:
+  parent: string, Required. The resource name of the Location from which to list the SemanticGovernancePolicies. Format: `projects/{project}/locations/{location}` (required)
+  pageSize: integer, Optional. The list page size. If zero, a default page size of 10 is used.
+  pageToken: string, Optional. The standard list 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 SemanticGovernancePolicyService.ListSemanticGovernancePolicies.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # A token to retrieve the next page of results. Pass to ListSemanticGovernancePoliciesRequest.page_token to obtain that page.
+  &quot;semanticGovernancePolicies&quot;: [ # The list of SemanticGovernancePolicies.
+    { # Represents a governance policy applied to a specific Agent and optionally a specific Tool within that Agent.
+      &quot;agent&quot;: &quot;A String&quot;, # Required. The name of the agent in Agent Registry that is affected by this policy.
+      &quot;agentIdentity&quot;: &quot;A String&quot;, # Output only. Represents the principal of the agent, used by the Policy Decision Point (PDP) for governance checks. For more information, see https://docs.cloud.google.com/agent-builder/agent-engine/agent-identity Format: `principal://TRUST_DOMAIN/NAMESPACE/AGENT_NAME` Example: `principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID`
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this SemanticGovernancePolicy was created.
+      &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the SemanticGovernancePolicy.
+      &quot;displayName&quot;: &quot;A String&quot;, # Optional. The user-defined name of the SemanticGovernancePolicy.
+      &quot;etag&quot;: &quot;A String&quot;, # Optional. Used to perform consistent read-modify-write transactions. If provided, the request will only succeed if the etag matches the current value. Otherwise, an ABORTED error will be returned.
+      &quot;mcpTools&quot;: [ # Optional. The McpTools that are affected by this policy.
+        { # Represents a governance policy applied to MCP tools used by an Agent.
+          &quot;mcpServer&quot;: &quot;A String&quot;, # Required. The resource name of the McpServer in Agent Registry that is affected by this policy. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+          &quot;tools&quot;: [ # Optional. The resource names of the McpTools used by the Agent that is affected by this policy. If not specified, the policy applies to all McpTools in the McpServer.
+            &quot;A String&quot;,
+          ],
+        },
+      ],
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. Resource name of the SemanticGovernancePolicy.
+      &quot;naturalLanguageConstraint&quot;: &quot;A String&quot;, # Required. The natural language constraint of the SemanticGovernancePolicy.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this SemanticGovernancePolicy was last updated.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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 SemanticGovernancePolicy.
+
+Args:
+  name: string, Identifier. Resource name of the SemanticGovernancePolicy. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a governance policy applied to a specific Agent and optionally a specific Tool within that Agent.
+  &quot;agent&quot;: &quot;A String&quot;, # Required. The name of the agent in Agent Registry that is affected by this policy.
+  &quot;agentIdentity&quot;: &quot;A String&quot;, # Output only. Represents the principal of the agent, used by the Policy Decision Point (PDP) for governance checks. For more information, see https://docs.cloud.google.com/agent-builder/agent-engine/agent-identity Format: `principal://TRUST_DOMAIN/NAMESPACE/AGENT_NAME` Example: `principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID`
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this SemanticGovernancePolicy was created.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the SemanticGovernancePolicy.
+  &quot;displayName&quot;: &quot;A String&quot;, # Optional. The user-defined name of the SemanticGovernancePolicy.
+  &quot;etag&quot;: &quot;A String&quot;, # Optional. Used to perform consistent read-modify-write transactions. If provided, the request will only succeed if the etag matches the current value. Otherwise, an ABORTED error will be returned.
+  &quot;mcpTools&quot;: [ # Optional. The McpTools that are affected by this policy.
+    { # Represents a governance policy applied to MCP tools used by an Agent.
+      &quot;mcpServer&quot;: &quot;A String&quot;, # Required. The resource name of the McpServer in Agent Registry that is affected by this policy. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`
+      &quot;tools&quot;: [ # Optional. The resource names of the McpTools used by the Agent that is affected by this policy. If not specified, the policy applies to all McpTools in the McpServer.
+        &quot;A String&quot;,
+      ],
+    },
+  ],
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. Resource name of the SemanticGovernancePolicy.
+  &quot;naturalLanguageConstraint&quot;: &quot;A String&quot;, # Required. The natural language constraint of the SemanticGovernancePolicy.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this SemanticGovernancePolicy was last updated.
+}
+
+  updateMask: string, Optional. `update_mask` is used to specify the fields to be overwritten in the SemanticGovernancePolicy resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the mask is not present, then all fields that are populated in the request message will be overwritten. Set the `update_mask` to `*` to override all fields.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/aiplatform_v1.projects.locations.semanticGovernancePolicies.operations.html b/docs/dyn/aiplatform_v1.projects.locations.semanticGovernancePolicies.operations.html
new file mode 100644
index 0000000..875abf9
--- /dev/null
+++ b/docs/dyn/aiplatform_v1.projects.locations.semanticGovernancePolicies.operations.html
@@ -0,0 +1,272 @@
+<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="aiplatform_v1.html">Agent Platform API</a> . <a href="aiplatform_v1.projects.html">projects</a> . <a href="aiplatform_v1.projects.locations.html">locations</a> . <a href="aiplatform_v1.projects.locations.semanticGovernancePolicies.html">semanticGovernancePolicies</a> . <a href="aiplatform_v1.projects.locations.semanticGovernancePolicies.operations.html">operations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#cancel">cancel(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.</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(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">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.</p>
+<p class="toc_element">
+  <code><a href="#list">list(name, filter=None, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#wait">wait(name, timeout=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="cancel">cancel(name, x__xgafv=None)</code>
+  <pre>Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn&#x27;t support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.
+
+Args:
+  name: string, The name of the operation resource to be cancelled. (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); }
+}</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(name, x__xgafv=None)</code>
+  <pre>Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn&#x27;t support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.
+
+Args:
+  name: string, The name of the operation resource to be deleted. (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); }
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>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.
+
+Args:
+  name: string, The name of the operation resource. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(name, filter=None, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)</code>
+  <pre>Lists operations that match the specified filter in the request. If the server doesn&#x27;t support this method, it returns `UNIMPLEMENTED`.
+
+Args:
+  name: string, The name of the operation&#x27;s parent resource. (required)
+  filter: string, The standard list filter.
+  pageSize: integer, The standard list page size.
+  pageToken: string, The standard list page token.
+  returnPartialSuccess: boolean, When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `&quot;projects/example/locations/-&quot;`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Operations.ListOperations.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The standard List next-page token.
+  &quot;operations&quot;: [ # A list of operations that matches the specified filter in the request.
+    { # This resource represents a long-running operation that is the result of a network API call.
+      &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+      &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+        &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+        &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+          {
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+        &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+      },
+      &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+      &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+      &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    },
+  ],
+  &quot;unreachable&quot;: [ # Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.
+    &quot;A String&quot;,
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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="wait">wait(name, timeout=None, x__xgafv=None)</code>
+  <pre>Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.
+
+Args:
+  name: string, The name of the operation resource to wait on. (required)
+  timeout: string, The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/aiplatform_v1.projects.locations.semanticGovernancePolicyEngine.html b/docs/dyn/aiplatform_v1.projects.locations.semanticGovernancePolicyEngine.html
new file mode 100644
index 0000000..1b529e9
--- /dev/null
+++ b/docs/dyn/aiplatform_v1.projects.locations.semanticGovernancePolicyEngine.html
@@ -0,0 +1,130 @@
+<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="aiplatform_v1.html">Agent Platform API</a> . <a href="aiplatform_v1.projects.html">projects</a> . <a href="aiplatform_v1.projects.locations.html">locations</a> . <a href="aiplatform_v1.projects.locations.semanticGovernancePolicyEngine.html">semanticGovernancePolicyEngine</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="#deprovision">deprovision(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Deprovisions the SemanticGovernancePolicyEngine, tearing down the associated tenant project, GKE cluster, and PSC service attachments. This operation is irreversible. Returns a long-running operation; poll for completion. The response contains the SemanticGovernancePolicyEngine in DEPROVISIONING state.</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="deprovision">deprovision(name, body=None, x__xgafv=None)</code>
+  <pre>Deprovisions the SemanticGovernancePolicyEngine, tearing down the associated tenant project, GKE cluster, and PSC service attachments. This operation is irreversible. Returns a long-running operation; poll for completion. The response contains the SemanticGovernancePolicyEngine in DEPROVISIONING state.
+
+Args:
+  name: string, Required. The resource name of the SemanticGovernancePolicyEngine to deprovision. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for SemanticGovernancePolicyEngineService.DeprovisionSemanticGovernancePolicyEngine.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/aiplatform_v1.publishers.models.html b/docs/dyn/aiplatform_v1.publishers.models.html
index 5ed50a5..fe9b4f1 100644
--- a/docs/dyn/aiplatform_v1.publishers.models.html
+++ b/docs/dyn/aiplatform_v1.publishers.models.html
@@ -661,6 +661,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1279,6 +1280,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2786,6 +2788,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1.semanticGovernancePolicies.html b/docs/dyn/aiplatform_v1.semanticGovernancePolicies.html
new file mode 100644
index 0000000..d1f1585
--- /dev/null
+++ b/docs/dyn/aiplatform_v1.semanticGovernancePolicies.html
@@ -0,0 +1,91 @@
+<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="aiplatform_v1.html">Agent Platform API</a> . <a href="aiplatform_v1.semanticGovernancePolicies.html">semanticGovernancePolicies</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="aiplatform_v1.semanticGovernancePolicies.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>
+<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/aiplatform_v1.semanticGovernancePolicies.operations.html b/docs/dyn/aiplatform_v1.semanticGovernancePolicies.operations.html
new file mode 100644
index 0000000..deea417
--- /dev/null
+++ b/docs/dyn/aiplatform_v1.semanticGovernancePolicies.operations.html
@@ -0,0 +1,272 @@
+<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="aiplatform_v1.html">Agent Platform API</a> . <a href="aiplatform_v1.semanticGovernancePolicies.html">semanticGovernancePolicies</a> . <a href="aiplatform_v1.semanticGovernancePolicies.operations.html">operations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#cancel">cancel(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.</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(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">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.</p>
+<p class="toc_element">
+  <code><a href="#list">list(name, filter=None, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#wait">wait(name, timeout=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="cancel">cancel(name, x__xgafv=None)</code>
+  <pre>Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. If the server doesn&#x27;t support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.
+
+Args:
+  name: string, The name of the operation resource to be cancelled. (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); }
+}</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(name, x__xgafv=None)</code>
+  <pre>Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn&#x27;t support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.
+
+Args:
+  name: string, The name of the operation resource to be deleted. (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); }
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>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.
+
+Args:
+  name: string, The name of the operation resource. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(name, filter=None, pageSize=None, pageToken=None, returnPartialSuccess=None, x__xgafv=None)</code>
+  <pre>Lists operations that match the specified filter in the request. If the server doesn&#x27;t support this method, it returns `UNIMPLEMENTED`.
+
+Args:
+  name: string, The name of the operation&#x27;s parent resource. (required)
+  filter: string, The standard list filter.
+  pageSize: integer, The standard list page size.
+  pageToken: string, The standard list page token.
+  returnPartialSuccess: boolean, When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `&quot;projects/example/locations/-&quot;`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for Operations.ListOperations.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # The standard List next-page token.
+  &quot;operations&quot;: [ # A list of operations that matches the specified filter in the request.
+    { # This resource represents a long-running operation that is the result of a network API call.
+      &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+      &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+        &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+        &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+          {
+            &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+          },
+        ],
+        &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+      },
+      &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+      &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+      &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    },
+  ],
+  &quot;unreachable&quot;: [ # Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.
+    &quot;A String&quot;,
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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="wait">wait(name, timeout=None, x__xgafv=None)</code>
+  <pre>Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.
+
+Args:
+  name: string, The name of the operation resource to wait on. (required)
+  timeout: string, The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/aiplatform_v1.v1.html b/docs/dyn/aiplatform_v1.v1.html
index 10a87f5..a0f48c7 100644
--- a/docs/dyn/aiplatform_v1.v1.html
+++ b/docs/dyn/aiplatform_v1.v1.html
@@ -1113,6 +1113,7 @@
                 &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                   &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                 },
+                &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
               },
               &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                 &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1430,6 +1431,7 @@
                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                   },
+                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                 },
                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1818,6 +1820,7 @@
               &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
               },
+              &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
             },
             &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
               &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2048,6 +2051,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -4316,6 +4320,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1beta1.endpoints.html b/docs/dyn/aiplatform_v1beta1.endpoints.html
index f3ee051..3f009c5 100644
--- a/docs/dyn/aiplatform_v1beta1.endpoints.html
+++ b/docs/dyn/aiplatform_v1beta1.endpoints.html
@@ -677,6 +677,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1309,6 +1310,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2262,6 +2264,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1beta1.interactions.html b/docs/dyn/aiplatform_v1beta1.interactions.html
index 1bf8077..d7bd4dc 100644
--- a/docs/dyn/aiplatform_v1beta1.interactions.html
+++ b/docs/dyn/aiplatform_v1beta1.interactions.html
@@ -104,35 +104,6 @@
     { # Response for InteractionService.CreateInteraction.
   &quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
     &quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
-    &quot;code_mender_config&quot;: { # Configuration for the CodeMender agent.
-      &quot;find_request&quot;: { # Request parameters specific to FIND sessions, used for discovering vulnerabilities in a codebase. # Parameters for finding vulnerabilities.
-        &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the vulnerability analysis.
-        &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of a specific finding to verify. This is primarily used in VERIFY mode to focus the agent&#x27;s execution-based validation on a single vulnerability.
-        &quot;source_files&quot;: [ # A list of source files to provide as context for the scan.
-          { # Content of a single file in the codebase.
-            &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-            &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-          },
-        ],
-      },
-      &quot;fix_request&quot;: { # Request parameters specific to FIX sessions, used for generating and validating security patches. # Parameters for fixing vulnerabilities.
-        &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the patch generation process.
-        &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of the specific security finding to be remediated. This ID maps to a previously discovered vulnerability.
-        &quot;source_files&quot;: [ # A list of source files providing context for the remediation. These files are typically the ones containing the identified vulnerability.
-          { # Content of a single file in the codebase.
-            &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-            &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-          },
-        ],
-      },
-      &quot;model&quot;: &quot;A String&quot;, # The name of the model to use for the CodeMender agent. One CodeMender session will only use one model.
-      &quot;session_config&quot;: { # The configuration of CodeMender sessions. # Optional session-specific configurations to override default agent behavior.
-        &quot;max_rounds&quot;: 42, # The maximum number of interaction rounds the agent is allowed to perform before reaching a timeout.
-        &quot;pipeline_mode&quot;: &quot;A String&quot;, # The pipeline mode of a CodeMender session. It can only be used for a find session.
-        &quot;topology&quot;: &quot;A String&quot;, # The cognitive architecture or &quot;thinking&quot; topology used by the agent (e.g. &quot;default&quot;, &quot;deep&quot;).
-      },
-      &quot;session_id&quot;: &quot;A String&quot;, # Parameter for grouping multiple interactions that belong to the same CodeMender session.
-    },
     &quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
       &quot;collaborativePlanning&quot;: True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
       &quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
@@ -6576,6 +6547,7 @@
       &quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
       },
       &quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+        &quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
         &quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
         &quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
           &quot;A String&quot;,
@@ -7209,35 +7181,6 @@
     { # Response for InteractionService.CreateInteraction.
   &quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
     &quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
-    &quot;code_mender_config&quot;: { # Configuration for the CodeMender agent.
-      &quot;find_request&quot;: { # Request parameters specific to FIND sessions, used for discovering vulnerabilities in a codebase. # Parameters for finding vulnerabilities.
-        &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the vulnerability analysis.
-        &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of a specific finding to verify. This is primarily used in VERIFY mode to focus the agent&#x27;s execution-based validation on a single vulnerability.
-        &quot;source_files&quot;: [ # A list of source files to provide as context for the scan.
-          { # Content of a single file in the codebase.
-            &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-            &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-          },
-        ],
-      },
-      &quot;fix_request&quot;: { # Request parameters specific to FIX sessions, used for generating and validating security patches. # Parameters for fixing vulnerabilities.
-        &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the patch generation process.
-        &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of the specific security finding to be remediated. This ID maps to a previously discovered vulnerability.
-        &quot;source_files&quot;: [ # A list of source files providing context for the remediation. These files are typically the ones containing the identified vulnerability.
-          { # Content of a single file in the codebase.
-            &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-            &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-          },
-        ],
-      },
-      &quot;model&quot;: &quot;A String&quot;, # The name of the model to use for the CodeMender agent. One CodeMender session will only use one model.
-      &quot;session_config&quot;: { # The configuration of CodeMender sessions. # Optional session-specific configurations to override default agent behavior.
-        &quot;max_rounds&quot;: 42, # The maximum number of interaction rounds the agent is allowed to perform before reaching a timeout.
-        &quot;pipeline_mode&quot;: &quot;A String&quot;, # The pipeline mode of a CodeMender session. It can only be used for a find session.
-        &quot;topology&quot;: &quot;A String&quot;, # The cognitive architecture or &quot;thinking&quot; topology used by the agent (e.g. &quot;default&quot;, &quot;deep&quot;).
-      },
-      &quot;session_id&quot;: &quot;A String&quot;, # Parameter for grouping multiple interactions that belong to the same CodeMender session.
-    },
     &quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
       &quot;collaborativePlanning&quot;: True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
       &quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
@@ -13681,6 +13624,7 @@
       &quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
       },
       &quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+        &quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
         &quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
         &quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
           &quot;A String&quot;,
@@ -16382,35 +16326,6 @@
     &quot;interaction&quot;: { # Response for InteractionService.CreateInteraction. # Required. The completed interaction with empty outputs to reduce the payload size. Use the preceding ContentDelta events for the actual output.
       &quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
         &quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
-        &quot;code_mender_config&quot;: { # Configuration for the CodeMender agent.
-          &quot;find_request&quot;: { # Request parameters specific to FIND sessions, used for discovering vulnerabilities in a codebase. # Parameters for finding vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the vulnerability analysis.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of a specific finding to verify. This is primarily used in VERIFY mode to focus the agent&#x27;s execution-based validation on a single vulnerability.
-            &quot;source_files&quot;: [ # A list of source files to provide as context for the scan.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;fix_request&quot;: { # Request parameters specific to FIX sessions, used for generating and validating security patches. # Parameters for fixing vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the patch generation process.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of the specific security finding to be remediated. This ID maps to a previously discovered vulnerability.
-            &quot;source_files&quot;: [ # A list of source files providing context for the remediation. These files are typically the ones containing the identified vulnerability.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;model&quot;: &quot;A String&quot;, # The name of the model to use for the CodeMender agent. One CodeMender session will only use one model.
-          &quot;session_config&quot;: { # The configuration of CodeMender sessions. # Optional session-specific configurations to override default agent behavior.
-            &quot;max_rounds&quot;: 42, # The maximum number of interaction rounds the agent is allowed to perform before reaching a timeout.
-            &quot;pipeline_mode&quot;: &quot;A String&quot;, # The pipeline mode of a CodeMender session. It can only be used for a find session.
-            &quot;topology&quot;: &quot;A String&quot;, # The cognitive architecture or &quot;thinking&quot; topology used by the agent (e.g. &quot;default&quot;, &quot;deep&quot;).
-          },
-          &quot;session_id&quot;: &quot;A String&quot;, # Parameter for grouping multiple interactions that belong to the same CodeMender session.
-        },
         &quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
           &quot;collaborativePlanning&quot;: True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
           &quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
@@ -22854,6 +22769,7 @@
           &quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
           },
           &quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+            &quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
             &quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
             &quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
               &quot;A String&quot;,
@@ -23465,35 +23381,6 @@
     &quot;interaction&quot;: { # Response for InteractionService.CreateInteraction. # Required. The completed interaction with empty outputs to reduce the payload size. Use the preceding ContentDelta events for the actual output.
       &quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
         &quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
-        &quot;code_mender_config&quot;: { # Configuration for the CodeMender agent.
-          &quot;find_request&quot;: { # Request parameters specific to FIND sessions, used for discovering vulnerabilities in a codebase. # Parameters for finding vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the vulnerability analysis.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of a specific finding to verify. This is primarily used in VERIFY mode to focus the agent&#x27;s execution-based validation on a single vulnerability.
-            &quot;source_files&quot;: [ # A list of source files to provide as context for the scan.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;fix_request&quot;: { # Request parameters specific to FIX sessions, used for generating and validating security patches. # Parameters for fixing vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the patch generation process.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of the specific security finding to be remediated. This ID maps to a previously discovered vulnerability.
-            &quot;source_files&quot;: [ # A list of source files providing context for the remediation. These files are typically the ones containing the identified vulnerability.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;model&quot;: &quot;A String&quot;, # The name of the model to use for the CodeMender agent. One CodeMender session will only use one model.
-          &quot;session_config&quot;: { # The configuration of CodeMender sessions. # Optional session-specific configurations to override default agent behavior.
-            &quot;max_rounds&quot;: 42, # The maximum number of interaction rounds the agent is allowed to perform before reaching a timeout.
-            &quot;pipeline_mode&quot;: &quot;A String&quot;, # The pipeline mode of a CodeMender session. It can only be used for a find session.
-            &quot;topology&quot;: &quot;A String&quot;, # The cognitive architecture or &quot;thinking&quot; topology used by the agent (e.g. &quot;default&quot;, &quot;deep&quot;).
-          },
-          &quot;session_id&quot;: &quot;A String&quot;, # Parameter for grouping multiple interactions that belong to the same CodeMender session.
-        },
         &quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
           &quot;collaborativePlanning&quot;: True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
           &quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
@@ -29937,6 +29824,7 @@
           &quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
           },
           &quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+            &quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
             &quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
             &quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
               &quot;A String&quot;,
@@ -30548,35 +30436,6 @@
     &quot;interaction&quot;: { # Response for InteractionService.CreateInteraction.
       &quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
         &quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
-        &quot;code_mender_config&quot;: { # Configuration for the CodeMender agent.
-          &quot;find_request&quot;: { # Request parameters specific to FIND sessions, used for discovering vulnerabilities in a codebase. # Parameters for finding vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the vulnerability analysis.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of a specific finding to verify. This is primarily used in VERIFY mode to focus the agent&#x27;s execution-based validation on a single vulnerability.
-            &quot;source_files&quot;: [ # A list of source files to provide as context for the scan.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;fix_request&quot;: { # Request parameters specific to FIX sessions, used for generating and validating security patches. # Parameters for fixing vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the patch generation process.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of the specific security finding to be remediated. This ID maps to a previously discovered vulnerability.
-            &quot;source_files&quot;: [ # A list of source files providing context for the remediation. These files are typically the ones containing the identified vulnerability.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;model&quot;: &quot;A String&quot;, # The name of the model to use for the CodeMender agent. One CodeMender session will only use one model.
-          &quot;session_config&quot;: { # The configuration of CodeMender sessions. # Optional session-specific configurations to override default agent behavior.
-            &quot;max_rounds&quot;: 42, # The maximum number of interaction rounds the agent is allowed to perform before reaching a timeout.
-            &quot;pipeline_mode&quot;: &quot;A String&quot;, # The pipeline mode of a CodeMender session. It can only be used for a find session.
-            &quot;topology&quot;: &quot;A String&quot;, # The cognitive architecture or &quot;thinking&quot; topology used by the agent (e.g. &quot;default&quot;, &quot;deep&quot;).
-          },
-          &quot;session_id&quot;: &quot;A String&quot;, # Parameter for grouping multiple interactions that belong to the same CodeMender session.
-        },
         &quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
           &quot;collaborativePlanning&quot;: True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
           &quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
@@ -37020,6 +36879,7 @@
           &quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
           },
           &quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+            &quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
             &quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
             &quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
               &quot;A String&quot;,
@@ -37631,35 +37491,6 @@
     &quot;interaction&quot;: { # Response for InteractionService.CreateInteraction.
       &quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
         &quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
-        &quot;code_mender_config&quot;: { # Configuration for the CodeMender agent.
-          &quot;find_request&quot;: { # Request parameters specific to FIND sessions, used for discovering vulnerabilities in a codebase. # Parameters for finding vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the vulnerability analysis.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of a specific finding to verify. This is primarily used in VERIFY mode to focus the agent&#x27;s execution-based validation on a single vulnerability.
-            &quot;source_files&quot;: [ # A list of source files to provide as context for the scan.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;fix_request&quot;: { # Request parameters specific to FIX sessions, used for generating and validating security patches. # Parameters for fixing vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the patch generation process.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of the specific security finding to be remediated. This ID maps to a previously discovered vulnerability.
-            &quot;source_files&quot;: [ # A list of source files providing context for the remediation. These files are typically the ones containing the identified vulnerability.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;model&quot;: &quot;A String&quot;, # The name of the model to use for the CodeMender agent. One CodeMender session will only use one model.
-          &quot;session_config&quot;: { # The configuration of CodeMender sessions. # Optional session-specific configurations to override default agent behavior.
-            &quot;max_rounds&quot;: 42, # The maximum number of interaction rounds the agent is allowed to perform before reaching a timeout.
-            &quot;pipeline_mode&quot;: &quot;A String&quot;, # The pipeline mode of a CodeMender session. It can only be used for a find session.
-            &quot;topology&quot;: &quot;A String&quot;, # The cognitive architecture or &quot;thinking&quot; topology used by the agent (e.g. &quot;default&quot;, &quot;deep&quot;).
-          },
-          &quot;session_id&quot;: &quot;A String&quot;, # Parameter for grouping multiple interactions that belong to the same CodeMender session.
-        },
         &quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
           &quot;collaborativePlanning&quot;: True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
           &quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
@@ -44103,6 +43934,7 @@
           &quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
           },
           &quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+            &quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
             &quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
             &quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
               &quot;A String&quot;,
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.agentAnomalyDetectionScopes.html b/docs/dyn/aiplatform_v1beta1.projects.locations.agentAnomalyDetectionScopes.html
index 1f7f1e1..e5ec1c3 100644
--- a/docs/dyn/aiplatform_v1beta1.projects.locations.agentAnomalyDetectionScopes.html
+++ b/docs/dyn/aiplatform_v1beta1.projects.locations.agentAnomalyDetectionScopes.html
@@ -92,9 +92,6 @@
 <p class="toc_element">
   <code><a href="#list_next">list_next()</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
-<p class="toc_element">
-  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Updates an existing AgentAnomalyDetectionScope.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -111,7 +108,6 @@
     The object takes the form of:
 
 { # Resource representing an Agent Anomaly Detection Scope.
-  &quot;autoEnroll&quot;: True or False, # Optional. When true, agents created in Agent Engine that share log and observability buckets with this scope are automatically enrolled as MonitoredAgents. When false, agents must be enrolled explicitly via MonitoredAgent operations.
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. User provided display name of the AgentAnomalyDetectionScope.
   &quot;logBuckets&quot;: [ # Required. Customer owned Cloud Logging bucket resource names attached to this scope. Format: `projects/{project}/locations/{location}/buckets/{bucket}`.
     &quot;A String&quot;,
@@ -120,6 +116,7 @@
   &quot;observabilityBuckets&quot;: [ # Required. Customer owned Cloud Observability bucket resource names attached to this scope. Format: `projects/{project}/locations/{location}/observationBuckets/{observation_bucket}`.
     &quot;A String&quot;,
   ],
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The lifecycle state of the scope. See `State` for the semantics of each value.
 }
 
   agentAnomalyDetectionScopeId: string, Required. The ID to use for the AgentAnomalyDetectionScope, which will become the final component of the AgentAnomalyDetectionScope&#x27;s resource name. This value should be 1-63 characters, and valid characters are /[a-z]([a-z0-9-]{0,61}[a-z0-9])?/.
@@ -202,7 +199,6 @@
   An object of the form:
 
     { # Resource representing an Agent Anomaly Detection Scope.
-  &quot;autoEnroll&quot;: True or False, # Optional. When true, agents created in Agent Engine that share log and observability buckets with this scope are automatically enrolled as MonitoredAgents. When false, agents must be enrolled explicitly via MonitoredAgent operations.
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. User provided display name of the AgentAnomalyDetectionScope.
   &quot;logBuckets&quot;: [ # Required. Customer owned Cloud Logging bucket resource names attached to this scope. Format: `projects/{project}/locations/{location}/buckets/{bucket}`.
     &quot;A String&quot;,
@@ -211,6 +207,7 @@
   &quot;observabilityBuckets&quot;: [ # Required. Customer owned Cloud Observability bucket resource names attached to this scope. Format: `projects/{project}/locations/{location}/observationBuckets/{observation_bucket}`.
     &quot;A String&quot;,
   ],
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The lifecycle state of the scope. See `State` for the semantics of each value.
 }</pre>
 </div>
 
@@ -233,7 +230,6 @@
     { # Response message for AgentAnomalyDetectionService.ListAgentAnomalyDetectionScopes.
   &quot;agentAnomalyDetectionScopes&quot;: [ # A list of AgentAnomalyDetectionScopes that matches the specified filter in the request.
     { # Resource representing an Agent Anomaly Detection Scope.
-      &quot;autoEnroll&quot;: True or False, # Optional. When true, agents created in Agent Engine that share log and observability buckets with this scope are automatically enrolled as MonitoredAgents. When false, agents must be enrolled explicitly via MonitoredAgent operations.
       &quot;displayName&quot;: &quot;A String&quot;, # Optional. User provided display name of the AgentAnomalyDetectionScope.
       &quot;logBuckets&quot;: [ # Required. Customer owned Cloud Logging bucket resource names attached to this scope. Format: `projects/{project}/locations/{location}/buckets/{bucket}`.
         &quot;A String&quot;,
@@ -242,6 +238,7 @@
       &quot;observabilityBuckets&quot;: [ # Required. Customer owned Cloud Observability bucket resource names attached to this scope. Format: `projects/{project}/locations/{location}/observationBuckets/{observation_bucket}`.
         &quot;A String&quot;,
       ],
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The lifecycle state of the scope. See `State` for the semantics of each value.
     },
   ],
   &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.
@@ -262,55 +259,4 @@
         </pre>
 </div>
 
-<div class="method">
-    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
-  <pre>Updates an existing AgentAnomalyDetectionScope.
-
-Args:
-  name: string, Identifier. The resource name of the AgentAnomalyDetectionScope. Format: `projects/{project}/locations/{location}/agentAnomalyDetectionScopes/{agent_anomaly_detection_scope}` (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # Resource representing an Agent Anomaly Detection Scope.
-  &quot;autoEnroll&quot;: True or False, # Optional. When true, agents created in Agent Engine that share log and observability buckets with this scope are automatically enrolled as MonitoredAgents. When false, agents must be enrolled explicitly via MonitoredAgent operations.
-  &quot;displayName&quot;: &quot;A String&quot;, # Optional. User provided display name of the AgentAnomalyDetectionScope.
-  &quot;logBuckets&quot;: [ # Required. Customer owned Cloud Logging bucket resource names attached to this scope. Format: `projects/{project}/locations/{location}/buckets/{bucket}`.
-    &quot;A String&quot;,
-  ],
-  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the AgentAnomalyDetectionScope. Format: `projects/{project}/locations/{location}/agentAnomalyDetectionScopes/{agent_anomaly_detection_scope}`
-  &quot;observabilityBuckets&quot;: [ # Required. Customer owned Cloud Observability bucket resource names attached to this scope. Format: `projects/{project}/locations/{location}/observationBuckets/{observation_bucket}`.
-    &quot;A String&quot;,
-  ],
-}
-
-  updateMask: string, Optional. The list of fields to update. Supported paths: `display_name`, `auto_enroll`, `log_buckets`, `observability_buckets`.
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # This resource represents a long-running operation that is the result of a network API call.
-  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
-  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
-    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
-    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
-      {
-        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
-      },
-    ],
-    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
-  },
-  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
-    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
-  },
-  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
-  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
-    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
-  },
-}</pre>
-</div>
-
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.cachedContents.html b/docs/dyn/aiplatform_v1beta1.projects.locations.cachedContents.html
index 02d7dd6..3522844 100644
--- a/docs/dyn/aiplatform_v1beta1.projects.locations.cachedContents.html
+++ b/docs/dyn/aiplatform_v1beta1.projects.locations.cachedContents.html
@@ -425,6 +425,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -854,6 +855,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1308,6 +1310,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1748,6 +1751,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2196,6 +2200,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2626,6 +2631,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.datasets.html b/docs/dyn/aiplatform_v1beta1.projects.locations.datasets.html
index 8766f96..cf28e69 100644
--- a/docs/dyn/aiplatform_v1beta1.projects.locations.datasets.html
+++ b/docs/dyn/aiplatform_v1beta1.projects.locations.datasets.html
@@ -629,6 +629,7 @@
               &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
               },
+              &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
             },
             &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
               &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1245,6 +1246,7 @@
               &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
               },
+              &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
             },
             &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
               &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.endpoints.html b/docs/dyn/aiplatform_v1beta1.projects.locations.endpoints.html
index e63b171..e7fa342 100644
--- a/docs/dyn/aiplatform_v1beta1.projects.locations.endpoints.html
+++ b/docs/dyn/aiplatform_v1beta1.projects.locations.endpoints.html
@@ -759,6 +759,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2481,6 +2482,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -5179,6 +5181,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.html b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.html
index 1ce0865..193310f 100644
--- a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.html
+++ b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationItems.html
@@ -274,6 +274,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -511,6 +512,7 @@
                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                         },
+                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                       },
                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -933,6 +935,7 @@
                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                   },
+                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                 },
                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1170,6 +1173,7 @@
                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                       },
+                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                     },
                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1591,6 +1595,7 @@
                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                   },
+                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                 },
                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1828,6 +1833,7 @@
                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                       },
+                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                     },
                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2296,6 +2302,7 @@
                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                       },
+                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                     },
                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2533,6 +2540,7 @@
                           &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                             &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                           },
+                          &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                         },
                         &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                           &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2955,6 +2963,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -3192,6 +3201,7 @@
                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                         },
+                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                       },
                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -3613,6 +3623,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -3850,6 +3861,7 @@
                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                         },
+                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                       },
                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -4318,6 +4330,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -4555,6 +4568,7 @@
                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                         },
+                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                       },
                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -4977,6 +4991,7 @@
                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                   },
+                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                 },
                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -5214,6 +5229,7 @@
                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                       },
+                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                     },
                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -5635,6 +5651,7 @@
                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                   },
+                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                 },
                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -5872,6 +5889,7 @@
                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                       },
+                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                     },
                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -6340,6 +6358,7 @@
                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                       },
+                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                     },
                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -6577,6 +6596,7 @@
                           &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                             &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                           },
+                          &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                         },
                         &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                           &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -6999,6 +7019,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -7236,6 +7257,7 @@
                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                         },
+                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                       },
                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -7657,6 +7679,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -7894,6 +7917,7 @@
                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                         },
+                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                       },
                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -8404,6 +8428,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -8641,6 +8666,7 @@
                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                         },
+                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                       },
                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -9063,6 +9089,7 @@
                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                   },
+                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                 },
                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -9300,6 +9327,7 @@
                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                       },
+                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                     },
                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -9721,6 +9749,7 @@
                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                   },
+                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                 },
                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -9958,6 +9987,7 @@
                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                       },
+                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                     },
                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -10426,6 +10456,7 @@
                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                       },
+                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                     },
                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -10663,6 +10694,7 @@
                           &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                             &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                           },
+                          &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                         },
                         &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                           &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -11085,6 +11117,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -11322,6 +11355,7 @@
                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                         },
+                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                       },
                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -11743,6 +11777,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -11980,6 +12015,7 @@
                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                         },
+                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                       },
                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -12461,6 +12497,7 @@
                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                         },
+                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                       },
                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -12698,6 +12735,7 @@
                             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                             },
+                            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                           },
                           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -13120,6 +13158,7 @@
                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                       },
+                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                     },
                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -13357,6 +13396,7 @@
                           &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                             &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                           },
+                          &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                         },
                         &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                           &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -13778,6 +13818,7 @@
                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                       },
+                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                     },
                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -14015,6 +14056,7 @@
                           &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                             &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                           },
+                          &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                         },
                         &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                           &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -14483,6 +14525,7 @@
                           &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                             &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                           },
+                          &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                         },
                         &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                           &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -14720,6 +14763,7 @@
                               &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                               },
+                              &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                             },
                             &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                               &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -15142,6 +15186,7 @@
                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                         },
+                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                       },
                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -15379,6 +15424,7 @@
                             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                             },
+                            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                           },
                           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -15800,6 +15846,7 @@
                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                         },
+                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                       },
                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -16037,6 +16084,7 @@
                             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                             },
+                            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                           },
                           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationRuns.html b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationRuns.html
index 40c5a57..7e10d49 100644
--- a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationRuns.html
+++ b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationRuns.html
@@ -1723,6 +1723,7 @@
                                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                     },
+                                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                   },
                                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1960,6 +1961,7 @@
                                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                         },
+                                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                       },
                                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2382,6 +2384,7 @@
                                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                   },
+                                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                 },
                                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2619,6 +2622,7 @@
                                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                       },
+                                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                     },
                                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -3040,6 +3044,7 @@
                                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                   },
+                                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                 },
                                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -3277,6 +3282,7 @@
                                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                       },
+                                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                     },
                                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -3813,6 +3819,7 @@
               &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
               },
+              &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
             },
             &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
               &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -4212,6 +4219,7 @@
                 &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                   &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                 },
+                &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
               },
               &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                 &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -6055,6 +6063,7 @@
                                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                     },
+                                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                   },
                                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -6292,6 +6301,7 @@
                                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                         },
+                                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                       },
                                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -6714,6 +6724,7 @@
                                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                   },
+                                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                 },
                                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -6951,6 +6962,7 @@
                                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                       },
+                                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                     },
                                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -7372,6 +7384,7 @@
                                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                   },
+                                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                 },
                                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -7609,6 +7622,7 @@
                                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                       },
+                                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                     },
                                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -8145,6 +8159,7 @@
               &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
               },
+              &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
             },
             &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
               &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -8544,6 +8559,7 @@
                 &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                   &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                 },
+                &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
               },
               &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                 &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -10429,6 +10445,7 @@
                                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                     },
+                                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                   },
                                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -10666,6 +10683,7 @@
                                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                         },
+                                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                       },
                                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -11088,6 +11106,7 @@
                                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                   },
+                                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                 },
                                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -11325,6 +11344,7 @@
                                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                       },
+                                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                     },
                                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -11746,6 +11766,7 @@
                                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                   },
+                                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                 },
                                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -11983,6 +12004,7 @@
                                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                       },
+                                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                     },
                                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -12519,6 +12541,7 @@
               &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
               },
+              &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
             },
             &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
               &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -12918,6 +12941,7 @@
                 &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                   &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                 },
+                &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
               },
               &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                 &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -14774,6 +14798,7 @@
                                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                         },
+                                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                       },
                                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -15011,6 +15036,7 @@
                                             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                             },
+                                            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                           },
                                           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -15433,6 +15459,7 @@
                                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                       },
+                                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                     },
                                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -15670,6 +15697,7 @@
                                           &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                             &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                           },
+                                          &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                         },
                                         &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                           &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -16091,6 +16119,7 @@
                                       &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                         &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                       },
+                                      &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                     },
                                     &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                       &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -16328,6 +16357,7 @@
                                           &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                             &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                                           },
+                                          &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                                         },
                                         &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                                           &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -16864,6 +16894,7 @@
                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                   },
+                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                 },
                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -17263,6 +17294,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.html b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.html
index a147c51..85dab71 100644
--- a/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.html
+++ b/docs/dyn/aiplatform_v1beta1.projects.locations.evaluationSets.html
@@ -264,6 +264,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -525,6 +526,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -828,6 +830,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1122,6 +1125,7 @@
               &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
               },
+              &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
             },
             &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
               &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1442,6 +1446,7 @@
                 &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                   &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                 },
+                &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
               },
               &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                 &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1722,6 +1727,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1984,6 +1990,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.html b/docs/dyn/aiplatform_v1beta1.projects.locations.html
index 3116867..af03d70 100644
--- a/docs/dyn/aiplatform_v1beta1.projects.locations.html
+++ b/docs/dyn/aiplatform_v1beta1.projects.locations.html
@@ -588,6 +588,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -891,6 +892,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2767,6 +2769,7 @@
                 &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                   &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                 },
+                &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
               },
               &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                 &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -3093,6 +3096,7 @@
                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                   },
+                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                 },
                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -3492,6 +3496,7 @@
               &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
               },
+              &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
             },
             &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
               &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -3729,6 +3734,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -4058,6 +4064,7 @@
                 &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                   &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                 },
+                &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
               },
               &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                 &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -4295,6 +4302,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -6599,6 +6607,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -7161,6 +7170,7 @@
                           &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                             &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                           },
+                          &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                         },
                         &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                           &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -7398,6 +7408,7 @@
                               &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                                 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                               },
+                              &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                             },
                             &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                               &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -7820,6 +7831,7 @@
                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                         },
+                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                       },
                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -8057,6 +8069,7 @@
                             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                             },
+                            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                           },
                           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -8478,6 +8491,7 @@
                         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                         },
+                        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                       },
                       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -8715,6 +8729,7 @@
                             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                             },
+                            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                           },
                           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -9398,6 +9413,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -9622,7 +9638,6 @@
   &quot;pscForwardingRule&quot;: &quot;A String&quot;, # Output only. The URI of the PSC endpoint resource created in customer project. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}
   &quot;pscServiceAttachment&quot;: &quot;A String&quot;, # Output only. URI of the PSC attachment resource provided by SGP. Format: projects/{project}/regions/{region}/serviceAttachments/{service_attachment}
   &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the SemanticGovernancePolicyEngine.
-  &quot;targetProject&quot;: &quot;A String&quot;, # Optional. The project where network, subnetwork and dns resources are located. If not provided, it is assumed to be the same project of SemanticGovernancePolicyEngine. This field is for Shared VPC scenarios, where network resources may be in a target project and SGP engine in a service project.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this SemanticGovernancePolicyEngine was last updated.
 }</pre>
 </div>
@@ -10175,7 +10190,6 @@
   &quot;pscForwardingRule&quot;: &quot;A String&quot;, # Output only. The URI of the PSC endpoint resource created in customer project. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}
   &quot;pscServiceAttachment&quot;: &quot;A String&quot;, # Output only. URI of the PSC attachment resource provided by SGP. Format: projects/{project}/regions/{region}/serviceAttachments/{service_attachment}
   &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the SemanticGovernancePolicyEngine.
-  &quot;targetProject&quot;: &quot;A String&quot;, # Optional. The project where network, subnetwork and dns resources are located. If not provided, it is assumed to be the same project of SemanticGovernancePolicyEngine. This field is for Shared VPC scenarios, where network resources may be in a target project and SGP engine in a service project.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Timestamp when this SemanticGovernancePolicyEngine was last updated.
 }
 
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.interactions.html b/docs/dyn/aiplatform_v1beta1.projects.locations.interactions.html
index e1a58fd..95a6db8 100644
--- a/docs/dyn/aiplatform_v1beta1.projects.locations.interactions.html
+++ b/docs/dyn/aiplatform_v1beta1.projects.locations.interactions.html
@@ -107,35 +107,6 @@
   &quot;interaction&quot;: { # Response for InteractionService.CreateInteraction. # The interaction to create.
     &quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
       &quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
-      &quot;code_mender_config&quot;: { # Configuration for the CodeMender agent.
-        &quot;find_request&quot;: { # Request parameters specific to FIND sessions, used for discovering vulnerabilities in a codebase. # Parameters for finding vulnerabilities.
-          &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the vulnerability analysis.
-          &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of a specific finding to verify. This is primarily used in VERIFY mode to focus the agent&#x27;s execution-based validation on a single vulnerability.
-          &quot;source_files&quot;: [ # A list of source files to provide as context for the scan.
-            { # Content of a single file in the codebase.
-              &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-              &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-            },
-          ],
-        },
-        &quot;fix_request&quot;: { # Request parameters specific to FIX sessions, used for generating and validating security patches. # Parameters for fixing vulnerabilities.
-          &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the patch generation process.
-          &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of the specific security finding to be remediated. This ID maps to a previously discovered vulnerability.
-          &quot;source_files&quot;: [ # A list of source files providing context for the remediation. These files are typically the ones containing the identified vulnerability.
-            { # Content of a single file in the codebase.
-              &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-              &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-            },
-          ],
-        },
-        &quot;model&quot;: &quot;A String&quot;, # The name of the model to use for the CodeMender agent. One CodeMender session will only use one model.
-        &quot;session_config&quot;: { # The configuration of CodeMender sessions. # Optional session-specific configurations to override default agent behavior.
-          &quot;max_rounds&quot;: 42, # The maximum number of interaction rounds the agent is allowed to perform before reaching a timeout.
-          &quot;pipeline_mode&quot;: &quot;A String&quot;, # The pipeline mode of a CodeMender session. It can only be used for a find session.
-          &quot;topology&quot;: &quot;A String&quot;, # The cognitive architecture or &quot;thinking&quot; topology used by the agent (e.g. &quot;default&quot;, &quot;deep&quot;).
-        },
-        &quot;session_id&quot;: &quot;A String&quot;, # Parameter for grouping multiple interactions that belong to the same CodeMender session.
-      },
       &quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
         &quot;collaborativePlanning&quot;: True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
         &quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
@@ -6579,6 +6550,7 @@
         &quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
         },
         &quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+          &quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
           &quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
           &quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
             &quot;A String&quot;,
@@ -7200,35 +7172,6 @@
     { # Response for InteractionService.CreateInteraction.
   &quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
     &quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
-    &quot;code_mender_config&quot;: { # Configuration for the CodeMender agent.
-      &quot;find_request&quot;: { # Request parameters specific to FIND sessions, used for discovering vulnerabilities in a codebase. # Parameters for finding vulnerabilities.
-        &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the vulnerability analysis.
-        &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of a specific finding to verify. This is primarily used in VERIFY mode to focus the agent&#x27;s execution-based validation on a single vulnerability.
-        &quot;source_files&quot;: [ # A list of source files to provide as context for the scan.
-          { # Content of a single file in the codebase.
-            &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-            &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-          },
-        ],
-      },
-      &quot;fix_request&quot;: { # Request parameters specific to FIX sessions, used for generating and validating security patches. # Parameters for fixing vulnerabilities.
-        &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the patch generation process.
-        &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of the specific security finding to be remediated. This ID maps to a previously discovered vulnerability.
-        &quot;source_files&quot;: [ # A list of source files providing context for the remediation. These files are typically the ones containing the identified vulnerability.
-          { # Content of a single file in the codebase.
-            &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-            &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-          },
-        ],
-      },
-      &quot;model&quot;: &quot;A String&quot;, # The name of the model to use for the CodeMender agent. One CodeMender session will only use one model.
-      &quot;session_config&quot;: { # The configuration of CodeMender sessions. # Optional session-specific configurations to override default agent behavior.
-        &quot;max_rounds&quot;: 42, # The maximum number of interaction rounds the agent is allowed to perform before reaching a timeout.
-        &quot;pipeline_mode&quot;: &quot;A String&quot;, # The pipeline mode of a CodeMender session. It can only be used for a find session.
-        &quot;topology&quot;: &quot;A String&quot;, # The cognitive architecture or &quot;thinking&quot; topology used by the agent (e.g. &quot;default&quot;, &quot;deep&quot;).
-      },
-      &quot;session_id&quot;: &quot;A String&quot;, # Parameter for grouping multiple interactions that belong to the same CodeMender session.
-    },
     &quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
       &quot;collaborativePlanning&quot;: True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
       &quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
@@ -13672,6 +13615,7 @@
       &quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
       },
       &quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+        &quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
         &quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
         &quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
           &quot;A String&quot;,
@@ -14295,35 +14239,6 @@
   &quot;interaction&quot;: { # Response for InteractionService.CreateInteraction. # The interaction to create.
     &quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
       &quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
-      &quot;code_mender_config&quot;: { # Configuration for the CodeMender agent.
-        &quot;find_request&quot;: { # Request parameters specific to FIND sessions, used for discovering vulnerabilities in a codebase. # Parameters for finding vulnerabilities.
-          &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the vulnerability analysis.
-          &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of a specific finding to verify. This is primarily used in VERIFY mode to focus the agent&#x27;s execution-based validation on a single vulnerability.
-          &quot;source_files&quot;: [ # A list of source files to provide as context for the scan.
-            { # Content of a single file in the codebase.
-              &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-              &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-            },
-          ],
-        },
-        &quot;fix_request&quot;: { # Request parameters specific to FIX sessions, used for generating and validating security patches. # Parameters for fixing vulnerabilities.
-          &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the patch generation process.
-          &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of the specific security finding to be remediated. This ID maps to a previously discovered vulnerability.
-          &quot;source_files&quot;: [ # A list of source files providing context for the remediation. These files are typically the ones containing the identified vulnerability.
-            { # Content of a single file in the codebase.
-              &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-              &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-            },
-          ],
-        },
-        &quot;model&quot;: &quot;A String&quot;, # The name of the model to use for the CodeMender agent. One CodeMender session will only use one model.
-        &quot;session_config&quot;: { # The configuration of CodeMender sessions. # Optional session-specific configurations to override default agent behavior.
-          &quot;max_rounds&quot;: 42, # The maximum number of interaction rounds the agent is allowed to perform before reaching a timeout.
-          &quot;pipeline_mode&quot;: &quot;A String&quot;, # The pipeline mode of a CodeMender session. It can only be used for a find session.
-          &quot;topology&quot;: &quot;A String&quot;, # The cognitive architecture or &quot;thinking&quot; topology used by the agent (e.g. &quot;default&quot;, &quot;deep&quot;).
-        },
-        &quot;session_id&quot;: &quot;A String&quot;, # Parameter for grouping multiple interactions that belong to the same CodeMender session.
-      },
       &quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
         &quot;collaborativePlanning&quot;: True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
         &quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
@@ -20767,6 +20682,7 @@
         &quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
         },
         &quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+          &quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
           &quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
           &quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
             &quot;A String&quot;,
@@ -23461,35 +23377,6 @@
     &quot;interaction&quot;: { # Response for InteractionService.CreateInteraction. # Required. The completed interaction with empty outputs to reduce the payload size. Use the preceding ContentDelta events for the actual output.
       &quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
         &quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
-        &quot;code_mender_config&quot;: { # Configuration for the CodeMender agent.
-          &quot;find_request&quot;: { # Request parameters specific to FIND sessions, used for discovering vulnerabilities in a codebase. # Parameters for finding vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the vulnerability analysis.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of a specific finding to verify. This is primarily used in VERIFY mode to focus the agent&#x27;s execution-based validation on a single vulnerability.
-            &quot;source_files&quot;: [ # A list of source files to provide as context for the scan.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;fix_request&quot;: { # Request parameters specific to FIX sessions, used for generating and validating security patches. # Parameters for fixing vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the patch generation process.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of the specific security finding to be remediated. This ID maps to a previously discovered vulnerability.
-            &quot;source_files&quot;: [ # A list of source files providing context for the remediation. These files are typically the ones containing the identified vulnerability.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;model&quot;: &quot;A String&quot;, # The name of the model to use for the CodeMender agent. One CodeMender session will only use one model.
-          &quot;session_config&quot;: { # The configuration of CodeMender sessions. # Optional session-specific configurations to override default agent behavior.
-            &quot;max_rounds&quot;: 42, # The maximum number of interaction rounds the agent is allowed to perform before reaching a timeout.
-            &quot;pipeline_mode&quot;: &quot;A String&quot;, # The pipeline mode of a CodeMender session. It can only be used for a find session.
-            &quot;topology&quot;: &quot;A String&quot;, # The cognitive architecture or &quot;thinking&quot; topology used by the agent (e.g. &quot;default&quot;, &quot;deep&quot;).
-          },
-          &quot;session_id&quot;: &quot;A String&quot;, # Parameter for grouping multiple interactions that belong to the same CodeMender session.
-        },
         &quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
           &quot;collaborativePlanning&quot;: True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
           &quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
@@ -29933,6 +29820,7 @@
           &quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
           },
           &quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+            &quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
             &quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
             &quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
               &quot;A String&quot;,
@@ -30544,35 +30432,6 @@
     &quot;interaction&quot;: { # Response for InteractionService.CreateInteraction. # Required. The completed interaction with empty outputs to reduce the payload size. Use the preceding ContentDelta events for the actual output.
       &quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
         &quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
-        &quot;code_mender_config&quot;: { # Configuration for the CodeMender agent.
-          &quot;find_request&quot;: { # Request parameters specific to FIND sessions, used for discovering vulnerabilities in a codebase. # Parameters for finding vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the vulnerability analysis.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of a specific finding to verify. This is primarily used in VERIFY mode to focus the agent&#x27;s execution-based validation on a single vulnerability.
-            &quot;source_files&quot;: [ # A list of source files to provide as context for the scan.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;fix_request&quot;: { # Request parameters specific to FIX sessions, used for generating and validating security patches. # Parameters for fixing vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the patch generation process.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of the specific security finding to be remediated. This ID maps to a previously discovered vulnerability.
-            &quot;source_files&quot;: [ # A list of source files providing context for the remediation. These files are typically the ones containing the identified vulnerability.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;model&quot;: &quot;A String&quot;, # The name of the model to use for the CodeMender agent. One CodeMender session will only use one model.
-          &quot;session_config&quot;: { # The configuration of CodeMender sessions. # Optional session-specific configurations to override default agent behavior.
-            &quot;max_rounds&quot;: 42, # The maximum number of interaction rounds the agent is allowed to perform before reaching a timeout.
-            &quot;pipeline_mode&quot;: &quot;A String&quot;, # The pipeline mode of a CodeMender session. It can only be used for a find session.
-            &quot;topology&quot;: &quot;A String&quot;, # The cognitive architecture or &quot;thinking&quot; topology used by the agent (e.g. &quot;default&quot;, &quot;deep&quot;).
-          },
-          &quot;session_id&quot;: &quot;A String&quot;, # Parameter for grouping multiple interactions that belong to the same CodeMender session.
-        },
         &quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
           &quot;collaborativePlanning&quot;: True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
           &quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
@@ -37016,6 +36875,7 @@
           &quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
           },
           &quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+            &quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
             &quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
             &quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
               &quot;A String&quot;,
@@ -37627,35 +37487,6 @@
     &quot;interaction&quot;: { # Response for InteractionService.CreateInteraction.
       &quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
         &quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
-        &quot;code_mender_config&quot;: { # Configuration for the CodeMender agent.
-          &quot;find_request&quot;: { # Request parameters specific to FIND sessions, used for discovering vulnerabilities in a codebase. # Parameters for finding vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the vulnerability analysis.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of a specific finding to verify. This is primarily used in VERIFY mode to focus the agent&#x27;s execution-based validation on a single vulnerability.
-            &quot;source_files&quot;: [ # A list of source files to provide as context for the scan.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;fix_request&quot;: { # Request parameters specific to FIX sessions, used for generating and validating security patches. # Parameters for fixing vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the patch generation process.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of the specific security finding to be remediated. This ID maps to a previously discovered vulnerability.
-            &quot;source_files&quot;: [ # A list of source files providing context for the remediation. These files are typically the ones containing the identified vulnerability.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;model&quot;: &quot;A String&quot;, # The name of the model to use for the CodeMender agent. One CodeMender session will only use one model.
-          &quot;session_config&quot;: { # The configuration of CodeMender sessions. # Optional session-specific configurations to override default agent behavior.
-            &quot;max_rounds&quot;: 42, # The maximum number of interaction rounds the agent is allowed to perform before reaching a timeout.
-            &quot;pipeline_mode&quot;: &quot;A String&quot;, # The pipeline mode of a CodeMender session. It can only be used for a find session.
-            &quot;topology&quot;: &quot;A String&quot;, # The cognitive architecture or &quot;thinking&quot; topology used by the agent (e.g. &quot;default&quot;, &quot;deep&quot;).
-          },
-          &quot;session_id&quot;: &quot;A String&quot;, # Parameter for grouping multiple interactions that belong to the same CodeMender session.
-        },
         &quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
           &quot;collaborativePlanning&quot;: True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
           &quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
@@ -44099,6 +43930,7 @@
           &quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
           },
           &quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+            &quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
             &quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
             &quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
               &quot;A String&quot;,
@@ -44710,35 +44542,6 @@
     &quot;interaction&quot;: { # Response for InteractionService.CreateInteraction.
       &quot;agentInteraction&quot;: { # Interaction for generating the completion using agents. # Interaction for generating the completion using agents.
         &quot;agent&quot;: &quot;A String&quot;, # The name of the `Agent` used for generating the completion.
-        &quot;code_mender_config&quot;: { # Configuration for the CodeMender agent.
-          &quot;find_request&quot;: { # Request parameters specific to FIND sessions, used for discovering vulnerabilities in a codebase. # Parameters for finding vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the vulnerability analysis.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of a specific finding to verify. This is primarily used in VERIFY mode to focus the agent&#x27;s execution-based validation on a single vulnerability.
-            &quot;source_files&quot;: [ # A list of source files to provide as context for the scan.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;fix_request&quot;: { # Request parameters specific to FIX sessions, used for generating and validating security patches. # Parameters for fixing vulnerabilities.
-            &quot;description&quot;: &quot;A String&quot;, # Additional context or custom instructions provided by the user to guide the patch generation process.
-            &quot;finding_id&quot;: &quot;A String&quot;, # The identifier of the specific security finding to be remediated. This ID maps to a previously discovered vulnerability.
-            &quot;source_files&quot;: [ # A list of source files providing context for the remediation. These files are typically the ones containing the identified vulnerability.
-              { # Content of a single file in the codebase.
-                &quot;content&quot;: &quot;A String&quot;, # The UTF-8 encoded text content of the file.
-                &quot;path&quot;: &quot;A String&quot;, # The relative path of the file from the project root.
-              },
-            ],
-          },
-          &quot;model&quot;: &quot;A String&quot;, # The name of the model to use for the CodeMender agent. One CodeMender session will only use one model.
-          &quot;session_config&quot;: { # The configuration of CodeMender sessions. # Optional session-specific configurations to override default agent behavior.
-            &quot;max_rounds&quot;: 42, # The maximum number of interaction rounds the agent is allowed to perform before reaching a timeout.
-            &quot;pipeline_mode&quot;: &quot;A String&quot;, # The pipeline mode of a CodeMender session. It can only be used for a find session.
-            &quot;topology&quot;: &quot;A String&quot;, # The cognitive architecture or &quot;thinking&quot; topology used by the agent (e.g. &quot;default&quot;, &quot;deep&quot;).
-          },
-          &quot;session_id&quot;: &quot;A String&quot;, # Parameter for grouping multiple interactions that belong to the same CodeMender session.
-        },
         &quot;deepResearchConfig&quot;: { # Configuration for the Deep Research agent.
           &quot;collaborativePlanning&quot;: True or False, # Enables human-in-the-loop planning for the Deep Research agent. If set to true, the Deep Research agent will provide a research plan in its response. The agent will then proceed only if the user confirms the plan in the next turn.
           &quot;enableBigqueryTool&quot;: True or False, # Enables bigquery tool for the Deep Research agent.
@@ -51182,6 +50985,7 @@
           &quot;codeExecution&quot;: { # A tool that can be used by the model to execute code. # A tool that can be used by the model to execute code.
           },
           &quot;computerUse&quot;: { # A tool that can be used by the model to interact with the computer. # Tool to support the model interacting directly with the computer.
+            &quot;enablePromptInjectionDetection&quot;: True or False, # Whether enable the prompt injection detection check on computer-use request.
             &quot;environment&quot;: &quot;A String&quot;, # The environment being operated.
             &quot;excludedPredefinedFunctions&quot;: [ # The list of predefined functions that are excluded from the model call.
               &quot;A String&quot;,
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.monitoredAgents.html b/docs/dyn/aiplatform_v1beta1.projects.locations.monitoredAgents.html
index 5a4635c..fe74ec1 100644
--- a/docs/dyn/aiplatform_v1beta1.projects.locations.monitoredAgents.html
+++ b/docs/dyn/aiplatform_v1beta1.projects.locations.monitoredAgents.html
@@ -83,12 +83,6 @@
   <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, monitoredAgentId=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Creates a new MonitoredAgent in a specific Location.</p>
-<p class="toc_element">
-  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Deletes a specific MonitoredAgent.</p>
-<p class="toc_element">
   <code><a href="#disable">disable(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Disables a specific MonitoredAgent.</p>
 <p class="toc_element">
@@ -110,83 +104,6 @@
 </div>
 
 <div class="method">
-    <code class="details" id="create">create(parent, body=None, monitoredAgentId=None, x__xgafv=None)</code>
-  <pre>Creates a new MonitoredAgent in a specific Location.
-
-Args:
-  parent: string, Required. The resource name of the Location to create the MonitoredAgent in. Format: `projects/{project}/locations/{location}` (required)
-  body: object, The request body.
-    The object takes the form of:
-
-{ # A monitored agent in a specific Location.
-  &quot;agentResource&quot;: { # Defines the identity of an agent being monitored. # Required. The configuration for the agent being monitored.
-    &quot;agent&quot;: &quot;A String&quot;, # Required. The full resource name of the agent to monitor. For REASONING_ENGINE, format: `projects/{project}/locations/{location}/reasoningEngines/{agent}`
-    &quot;agentType&quot;: &quot;A String&quot;, # Required. The type of the agent.
-    &quot;location&quot;: &quot;A String&quot;, # Output only. The GCP location (region) of the agent resource (e.g. `us-central1`).
-  },
-  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the MonitoredAgent was created.
-  &quot;displayName&quot;: &quot;A String&quot;, # Optional. The display name of the MonitoredAgent.
-  &quot;logBuckets&quot;: [ # Optional. The log buckets configured for the agent, in MVP this will be restricted to 1. Format: `projects/{project}/locations/{location}/buckets/{bucket}`
-    &quot;A String&quot;,
-  ],
-  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the MonitoredAgent.
-  &quot;observabilityBuckets&quot;: [ # Optional. The observability buckets configured for the agent, in MVP this will be restricted to 1. Format: `projects/{project}/locations/{location}/observationBuckets/{observation_bucket}`
-    &quot;A String&quot;,
-  ],
-  &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the agent&#x27;s enablement.
-  &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. A brief message explaining the current state.
-  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time the MonitoredAgent was last updated.
-}
-
-  monitoredAgentId: string, Required. The ID to use for the MonitoredAgent, which will become the final component of the MonitoredAgent&#x27;s resource name.
-  x__xgafv: string, V1 error format.
-    Allowed values
-      1 - v1 error format
-      2 - v2 error format
-
-Returns:
-  An object of the form:
-
-    { # A monitored agent in a specific Location.
-  &quot;agentResource&quot;: { # Defines the identity of an agent being monitored. # Required. The configuration for the agent being monitored.
-    &quot;agent&quot;: &quot;A String&quot;, # Required. The full resource name of the agent to monitor. For REASONING_ENGINE, format: `projects/{project}/locations/{location}/reasoningEngines/{agent}`
-    &quot;agentType&quot;: &quot;A String&quot;, # Required. The type of the agent.
-    &quot;location&quot;: &quot;A String&quot;, # Output only. The GCP location (region) of the agent resource (e.g. `us-central1`).
-  },
-  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the MonitoredAgent was created.
-  &quot;displayName&quot;: &quot;A String&quot;, # Optional. The display name of the MonitoredAgent.
-  &quot;logBuckets&quot;: [ # Optional. The log buckets configured for the agent, in MVP this will be restricted to 1. Format: `projects/{project}/locations/{location}/buckets/{bucket}`
-    &quot;A String&quot;,
-  ],
-  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the MonitoredAgent.
-  &quot;observabilityBuckets&quot;: [ # Optional. The observability buckets configured for the agent, in MVP this will be restricted to 1. Format: `projects/{project}/locations/{location}/observationBuckets/{observation_bucket}`
-    &quot;A String&quot;,
-  ],
-  &quot;state&quot;: &quot;A String&quot;, # Output only. The current state of the agent&#x27;s enablement.
-  &quot;statusMessage&quot;: &quot;A String&quot;, # Output only. A brief message explaining the current state.
-  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time the MonitoredAgent was last updated.
-}</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
-  <pre>Deletes a specific MonitoredAgent.
-
-Args:
-  name: string, Required. The name of the MonitoredAgent resource to be deleted. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}` (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); }
-}</pre>
-</div>
-
-<div class="method">
     <code class="details" id="disable">disable(name, body=None, x__xgafv=None)</code>
   <pre>Disables a specific MonitoredAgent.
 
diff --git a/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.models.html b/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.models.html
index 2eb5ab5..aba5321 100644
--- a/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.models.html
+++ b/docs/dyn/aiplatform_v1beta1.projects.locations.publishers.models.html
@@ -696,6 +696,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1553,6 +1554,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2823,6 +2825,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1beta1.publishers.models.html b/docs/dyn/aiplatform_v1beta1.publishers.models.html
index c71aeca..5504819 100644
--- a/docs/dyn/aiplatform_v1beta1.publishers.models.html
+++ b/docs/dyn/aiplatform_v1beta1.publishers.models.html
@@ -676,6 +676,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1308,6 +1309,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -3504,6 +3506,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/aiplatform_v1beta1.v1beta1.html b/docs/dyn/aiplatform_v1beta1.v1beta1.html
index 4bb832e..842cdb7 100644
--- a/docs/dyn/aiplatform_v1beta1.v1beta1.html
+++ b/docs/dyn/aiplatform_v1beta1.v1beta1.html
@@ -1127,6 +1127,7 @@
                 &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                   &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                 },
+                &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
               },
               &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                 &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1453,6 +1454,7 @@
                   &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                   },
+                  &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                 },
                 &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                   &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1852,6 +1854,7 @@
               &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                 &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
               },
+              &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
             },
             &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
               &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2089,6 +2092,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2418,6 +2422,7 @@
                 &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                   &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                 },
+                &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
               },
               &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                 &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -2655,6 +2660,7 @@
                     &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
                       &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
                     },
+                    &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
                   },
                   &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
                     &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -4958,6 +4964,7 @@
             &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
               &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
             },
+            &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
           },
           &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
             &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/androidpublisher_v3.edits.images.html b/docs/dyn/androidpublisher_v3.edits.images.html
index 92163cd..daf7bee 100644
--- a/docs/dyn/androidpublisher_v3.edits.images.html
+++ b/docs/dyn/androidpublisher_v3.edits.images.html
@@ -87,7 +87,7 @@
   <code><a href="#list">list(packageName, editId, language, imageType, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists all images. The response may be empty.</p>
 <p class="toc_element">
-  <code><a href="#upload">upload(packageName, editId, language, imageType, media_body=None, media_mime_type=None, x__xgafv=None)</a></code></p>
+  <code><a href="#upload">upload(packageName, editId, language, imageType, aiGeneratedState=None, media_body=None, media_mime_type=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Uploads an image of the specified language and image type, and adds to the edit.</p>
 <h3>Method Details</h3>
 <div class="method">
@@ -152,6 +152,7 @@
     { # Response for deleting all images.
   &quot;deleted&quot;: [ # The deleted images.
     { # An uploaded image. The resource for ImagesService.
+      &quot;aiGeneratedState&quot;: &quot;A String&quot;, # Optional. Whether the image was generated by AI. Attested by the developer.
       &quot;id&quot;: &quot;A String&quot;, # A unique id representing this image.
       &quot;sha1&quot;: &quot;A String&quot;, # A sha1 hash of the image.
       &quot;sha256&quot;: &quot;A String&quot;, # A sha256 hash of the image.
@@ -191,6 +192,7 @@
     { # Response listing all images.
   &quot;images&quot;: [ # All listed Images.
     { # An uploaded image. The resource for ImagesService.
+      &quot;aiGeneratedState&quot;: &quot;A String&quot;, # Optional. Whether the image was generated by AI. Attested by the developer.
       &quot;id&quot;: &quot;A String&quot;, # A unique id representing this image.
       &quot;sha1&quot;: &quot;A String&quot;, # A sha1 hash of the image.
       &quot;sha256&quot;: &quot;A String&quot;, # A sha256 hash of the image.
@@ -201,7 +203,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="upload">upload(packageName, editId, language, imageType, media_body=None, media_mime_type=None, x__xgafv=None)</code>
+    <code class="details" id="upload">upload(packageName, editId, language, imageType, aiGeneratedState=None, media_body=None, media_mime_type=None, x__xgafv=None)</code>
   <pre>Uploads an image of the specified language and image type, and adds to the edit.
 
 Args:
@@ -219,6 +221,11 @@
       icon - Icon.
       featureGraphic - Feature graphic.
       tvBanner - TV banner.
+  aiGeneratedState: string, Optional. Whether the image was generated by AI. Attested by the developer.
+    Allowed values
+      aiGeneratedStateUnspecified - Catch-all for unrecognized enum values. See go/protodosdonts.
+      aiGeneratedStateNotAiGenerated - The content is not generated by AI.
+      aiGeneratedStateAiGeneratedDeveloperAttested - The content is generated by AI and attested by the developer.
   media_body: string, The filename of the media request body, or an instance of a MediaUpload object.
   media_mime_type: string, The MIME type of the media request body, or an instance of a MediaUpload object.
   x__xgafv: string, V1 error format.
@@ -231,6 +238,7 @@
 
     { # Response for uploading an image.
   &quot;image&quot;: { # An uploaded image. The resource for ImagesService. # The uploaded image.
+    &quot;aiGeneratedState&quot;: &quot;A String&quot;, # Optional. Whether the image was generated by AI. Attested by the developer.
     &quot;id&quot;: &quot;A String&quot;, # A unique id representing this image.
     &quot;sha1&quot;: &quot;A String&quot;, # A sha1 hash of the image.
     &quot;sha256&quot;: &quot;A String&quot;, # A sha256 hash of the image.
diff --git a/docs/dyn/apigee_v1.organizations.apiproducts.html b/docs/dyn/apigee_v1.organizations.apiproducts.html
index 9ecfec0..df9b109 100644
--- a/docs/dyn/apigee_v1.organizations.apiproducts.html
+++ b/docs/dyn/apigee_v1.organizations.apiproducts.html
@@ -245,6 +245,29 @@
       },
     ],
   },
+  &quot;payloadOperationGroup&quot;: { # List of payload operation configuration details associated with Apigee API proxies. Payload operations enable governance of protocols where operations are embedded in the request body (such as JSON-RPC) rather than defined by the URL path. # Optional. Configuration used to group Apigee proxies with payload-based operations and quotas. Unlike `operation_group`, which matches on the URL path, this grouping matches on operation identifiers extracted from the request payload (for example, JSON-RPC method and tool names). This enables fine-grained authorization and quota enforcement for protocols such as MCP where multiple operations share a single endpoint. **Note:** The `proxies` and `api_resources` settings cannot be specified for both the API product and payload operation group; otherwise the call will fail.
+    &quot;operationConfigs&quot;: [ # Required. List of payload operation configurations for Apigee API proxies that are associated with this API product.
+      { # Binds the payload operations in an API proxy with the associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy with which the payload operations and quota are associated.
+        &quot;attributes&quot;: [ # Optional. Custom attributes associated with the operation.
+          { # Key-value pair to store extra metadata.
+            &quot;name&quot;: &quot;A String&quot;, # API key of the attribute.
+            &quot;value&quot;: &quot;A String&quot;, # Value of the attribute.
+          },
+        ],
+        &quot;operations&quot;: [ # Required. List of payload operations for the API proxy to which quota will be applied.
+          { # Represents a single operation identifier extracted from the request payload.
+            &quot;operation&quot;: &quot;A String&quot;, # Required. The operation name extracted from the request payload at runtime by the ParsePayload policy. For example, for MCP protocol requests, this could be `&quot;tools/list&quot;` or `&quot;tools/call/get_weather&quot;`. Wildcards are not supported.
+          },
+        ],
+        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on the resources, methods, API source combination associated with this API product. While Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Optional. Quota parameters to be enforced for the operations and API source combination. If none are specified, quota enforcement will not be done unless a quota is defined at the API product level.
+          &quot;interval&quot;: &quot;A String&quot;, # Required. Time interval over which the number of request messages is calculated.
+          &quot;limit&quot;: &quot;A String&quot;, # Required. Upper limit allowed for the time interval and time unit specified. Requests exceeding this limit will be rejected.
+          &quot;timeUnit&quot;: &quot;A String&quot;, # Time unit defined for the `interval`. Valid values include `minute`, `hour`, `day`, or `month`. If `limit` and `interval` are valid, the default value is `hour`; otherwise, the default is null.
+        },
+      },
+    ],
+  },
   &quot;proxies&quot;: [ # Comma-separated list of API proxy names to which this API product is bound. By specifying API proxies, you can associate resources in the API product with specific API proxies, preventing developers from accessing those resources through other API proxies. Apigee rejects requests to API proxies that are not listed. **Note:** The API proxy names must already exist in the specified environment as they will be validated upon creation.
     &quot;A String&quot;,
   ],
@@ -391,6 +414,29 @@
       },
     ],
   },
+  &quot;payloadOperationGroup&quot;: { # List of payload operation configuration details associated with Apigee API proxies. Payload operations enable governance of protocols where operations are embedded in the request body (such as JSON-RPC) rather than defined by the URL path. # Optional. Configuration used to group Apigee proxies with payload-based operations and quotas. Unlike `operation_group`, which matches on the URL path, this grouping matches on operation identifiers extracted from the request payload (for example, JSON-RPC method and tool names). This enables fine-grained authorization and quota enforcement for protocols such as MCP where multiple operations share a single endpoint. **Note:** The `proxies` and `api_resources` settings cannot be specified for both the API product and payload operation group; otherwise the call will fail.
+    &quot;operationConfigs&quot;: [ # Required. List of payload operation configurations for Apigee API proxies that are associated with this API product.
+      { # Binds the payload operations in an API proxy with the associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy with which the payload operations and quota are associated.
+        &quot;attributes&quot;: [ # Optional. Custom attributes associated with the operation.
+          { # Key-value pair to store extra metadata.
+            &quot;name&quot;: &quot;A String&quot;, # API key of the attribute.
+            &quot;value&quot;: &quot;A String&quot;, # Value of the attribute.
+          },
+        ],
+        &quot;operations&quot;: [ # Required. List of payload operations for the API proxy to which quota will be applied.
+          { # Represents a single operation identifier extracted from the request payload.
+            &quot;operation&quot;: &quot;A String&quot;, # Required. The operation name extracted from the request payload at runtime by the ParsePayload policy. For example, for MCP protocol requests, this could be `&quot;tools/list&quot;` or `&quot;tools/call/get_weather&quot;`. Wildcards are not supported.
+          },
+        ],
+        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on the resources, methods, API source combination associated with this API product. While Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Optional. Quota parameters to be enforced for the operations and API source combination. If none are specified, quota enforcement will not be done unless a quota is defined at the API product level.
+          &quot;interval&quot;: &quot;A String&quot;, # Required. Time interval over which the number of request messages is calculated.
+          &quot;limit&quot;: &quot;A String&quot;, # Required. Upper limit allowed for the time interval and time unit specified. Requests exceeding this limit will be rejected.
+          &quot;timeUnit&quot;: &quot;A String&quot;, # Time unit defined for the `interval`. Valid values include `minute`, `hour`, `day`, or `month`. If `limit` and `interval` are valid, the default value is `hour`; otherwise, the default is null.
+        },
+      },
+    ],
+  },
   &quot;proxies&quot;: [ # Comma-separated list of API proxy names to which this API product is bound. By specifying API proxies, you can associate resources in the API product with specific API proxies, preventing developers from accessing those resources through other API proxies. Apigee rejects requests to API proxies that are not listed. **Note:** The API proxy names must already exist in the specified environment as they will be validated upon creation.
     &quot;A String&quot;,
   ],
@@ -544,6 +590,29 @@
       },
     ],
   },
+  &quot;payloadOperationGroup&quot;: { # List of payload operation configuration details associated with Apigee API proxies. Payload operations enable governance of protocols where operations are embedded in the request body (such as JSON-RPC) rather than defined by the URL path. # Optional. Configuration used to group Apigee proxies with payload-based operations and quotas. Unlike `operation_group`, which matches on the URL path, this grouping matches on operation identifiers extracted from the request payload (for example, JSON-RPC method and tool names). This enables fine-grained authorization and quota enforcement for protocols such as MCP where multiple operations share a single endpoint. **Note:** The `proxies` and `api_resources` settings cannot be specified for both the API product and payload operation group; otherwise the call will fail.
+    &quot;operationConfigs&quot;: [ # Required. List of payload operation configurations for Apigee API proxies that are associated with this API product.
+      { # Binds the payload operations in an API proxy with the associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy with which the payload operations and quota are associated.
+        &quot;attributes&quot;: [ # Optional. Custom attributes associated with the operation.
+          { # Key-value pair to store extra metadata.
+            &quot;name&quot;: &quot;A String&quot;, # API key of the attribute.
+            &quot;value&quot;: &quot;A String&quot;, # Value of the attribute.
+          },
+        ],
+        &quot;operations&quot;: [ # Required. List of payload operations for the API proxy to which quota will be applied.
+          { # Represents a single operation identifier extracted from the request payload.
+            &quot;operation&quot;: &quot;A String&quot;, # Required. The operation name extracted from the request payload at runtime by the ParsePayload policy. For example, for MCP protocol requests, this could be `&quot;tools/list&quot;` or `&quot;tools/call/get_weather&quot;`. Wildcards are not supported.
+          },
+        ],
+        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on the resources, methods, API source combination associated with this API product. While Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Optional. Quota parameters to be enforced for the operations and API source combination. If none are specified, quota enforcement will not be done unless a quota is defined at the API product level.
+          &quot;interval&quot;: &quot;A String&quot;, # Required. Time interval over which the number of request messages is calculated.
+          &quot;limit&quot;: &quot;A String&quot;, # Required. Upper limit allowed for the time interval and time unit specified. Requests exceeding this limit will be rejected.
+          &quot;timeUnit&quot;: &quot;A String&quot;, # Time unit defined for the `interval`. Valid values include `minute`, `hour`, `day`, or `month`. If `limit` and `interval` are valid, the default value is `hour`; otherwise, the default is null.
+        },
+      },
+    ],
+  },
   &quot;proxies&quot;: [ # Comma-separated list of API proxy names to which this API product is bound. By specifying API proxies, you can associate resources in the API product with specific API proxies, preventing developers from accessing those resources through other API proxies. Apigee rejects requests to API proxies that are not listed. **Note:** The API proxy names must already exist in the specified environment as they will be validated upon creation.
     &quot;A String&quot;,
   ],
@@ -697,6 +766,29 @@
       },
     ],
   },
+  &quot;payloadOperationGroup&quot;: { # List of payload operation configuration details associated with Apigee API proxies. Payload operations enable governance of protocols where operations are embedded in the request body (such as JSON-RPC) rather than defined by the URL path. # Optional. Configuration used to group Apigee proxies with payload-based operations and quotas. Unlike `operation_group`, which matches on the URL path, this grouping matches on operation identifiers extracted from the request payload (for example, JSON-RPC method and tool names). This enables fine-grained authorization and quota enforcement for protocols such as MCP where multiple operations share a single endpoint. **Note:** The `proxies` and `api_resources` settings cannot be specified for both the API product and payload operation group; otherwise the call will fail.
+    &quot;operationConfigs&quot;: [ # Required. List of payload operation configurations for Apigee API proxies that are associated with this API product.
+      { # Binds the payload operations in an API proxy with the associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy with which the payload operations and quota are associated.
+        &quot;attributes&quot;: [ # Optional. Custom attributes associated with the operation.
+          { # Key-value pair to store extra metadata.
+            &quot;name&quot;: &quot;A String&quot;, # API key of the attribute.
+            &quot;value&quot;: &quot;A String&quot;, # Value of the attribute.
+          },
+        ],
+        &quot;operations&quot;: [ # Required. List of payload operations for the API proxy to which quota will be applied.
+          { # Represents a single operation identifier extracted from the request payload.
+            &quot;operation&quot;: &quot;A String&quot;, # Required. The operation name extracted from the request payload at runtime by the ParsePayload policy. For example, for MCP protocol requests, this could be `&quot;tools/list&quot;` or `&quot;tools/call/get_weather&quot;`. Wildcards are not supported.
+          },
+        ],
+        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on the resources, methods, API source combination associated with this API product. While Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Optional. Quota parameters to be enforced for the operations and API source combination. If none are specified, quota enforcement will not be done unless a quota is defined at the API product level.
+          &quot;interval&quot;: &quot;A String&quot;, # Required. Time interval over which the number of request messages is calculated.
+          &quot;limit&quot;: &quot;A String&quot;, # Required. Upper limit allowed for the time interval and time unit specified. Requests exceeding this limit will be rejected.
+          &quot;timeUnit&quot;: &quot;A String&quot;, # Time unit defined for the `interval`. Valid values include `minute`, `hour`, `day`, or `month`. If `limit` and `interval` are valid, the default value is `hour`; otherwise, the default is null.
+        },
+      },
+    ],
+  },
   &quot;proxies&quot;: [ # Comma-separated list of API proxy names to which this API product is bound. By specifying API proxies, you can associate resources in the API product with specific API proxies, preventing developers from accessing those resources through other API proxies. Apigee rejects requests to API proxies that are not listed. **Note:** The API proxy names must already exist in the specified environment as they will be validated upon creation.
     &quot;A String&quot;,
   ],
@@ -858,6 +950,29 @@
           },
         ],
       },
+      &quot;payloadOperationGroup&quot;: { # List of payload operation configuration details associated with Apigee API proxies. Payload operations enable governance of protocols where operations are embedded in the request body (such as JSON-RPC) rather than defined by the URL path. # Optional. Configuration used to group Apigee proxies with payload-based operations and quotas. Unlike `operation_group`, which matches on the URL path, this grouping matches on operation identifiers extracted from the request payload (for example, JSON-RPC method and tool names). This enables fine-grained authorization and quota enforcement for protocols such as MCP where multiple operations share a single endpoint. **Note:** The `proxies` and `api_resources` settings cannot be specified for both the API product and payload operation group; otherwise the call will fail.
+        &quot;operationConfigs&quot;: [ # Required. List of payload operation configurations for Apigee API proxies that are associated with this API product.
+          { # Binds the payload operations in an API proxy with the associated quota enforcement.
+            &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy with which the payload operations and quota are associated.
+            &quot;attributes&quot;: [ # Optional. Custom attributes associated with the operation.
+              { # Key-value pair to store extra metadata.
+                &quot;name&quot;: &quot;A String&quot;, # API key of the attribute.
+                &quot;value&quot;: &quot;A String&quot;, # Value of the attribute.
+              },
+            ],
+            &quot;operations&quot;: [ # Required. List of payload operations for the API proxy to which quota will be applied.
+              { # Represents a single operation identifier extracted from the request payload.
+                &quot;operation&quot;: &quot;A String&quot;, # Required. The operation name extracted from the request payload at runtime by the ParsePayload policy. For example, for MCP protocol requests, this could be `&quot;tools/list&quot;` or `&quot;tools/call/get_weather&quot;`. Wildcards are not supported.
+              },
+            ],
+            &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on the resources, methods, API source combination associated with this API product. While Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Optional. Quota parameters to be enforced for the operations and API source combination. If none are specified, quota enforcement will not be done unless a quota is defined at the API product level.
+              &quot;interval&quot;: &quot;A String&quot;, # Required. Time interval over which the number of request messages is calculated.
+              &quot;limit&quot;: &quot;A String&quot;, # Required. Upper limit allowed for the time interval and time unit specified. Requests exceeding this limit will be rejected.
+              &quot;timeUnit&quot;: &quot;A String&quot;, # Time unit defined for the `interval`. Valid values include `minute`, `hour`, `day`, or `month`. If `limit` and `interval` are valid, the default value is `hour`; otherwise, the default is null.
+            },
+          },
+        ],
+      },
       &quot;proxies&quot;: [ # Comma-separated list of API proxy names to which this API product is bound. By specifying API proxies, you can associate resources in the API product with specific API proxies, preventing developers from accessing those resources through other API proxies. Apigee rejects requests to API proxies that are not listed. **Note:** The API proxy names must already exist in the specified environment as they will be validated upon creation.
         &quot;A String&quot;,
       ],
@@ -1020,6 +1135,29 @@
       },
     ],
   },
+  &quot;payloadOperationGroup&quot;: { # List of payload operation configuration details associated with Apigee API proxies. Payload operations enable governance of protocols where operations are embedded in the request body (such as JSON-RPC) rather than defined by the URL path. # Optional. Configuration used to group Apigee proxies with payload-based operations and quotas. Unlike `operation_group`, which matches on the URL path, this grouping matches on operation identifiers extracted from the request payload (for example, JSON-RPC method and tool names). This enables fine-grained authorization and quota enforcement for protocols such as MCP where multiple operations share a single endpoint. **Note:** The `proxies` and `api_resources` settings cannot be specified for both the API product and payload operation group; otherwise the call will fail.
+    &quot;operationConfigs&quot;: [ # Required. List of payload operation configurations for Apigee API proxies that are associated with this API product.
+      { # Binds the payload operations in an API proxy with the associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy with which the payload operations and quota are associated.
+        &quot;attributes&quot;: [ # Optional. Custom attributes associated with the operation.
+          { # Key-value pair to store extra metadata.
+            &quot;name&quot;: &quot;A String&quot;, # API key of the attribute.
+            &quot;value&quot;: &quot;A String&quot;, # Value of the attribute.
+          },
+        ],
+        &quot;operations&quot;: [ # Required. List of payload operations for the API proxy to which quota will be applied.
+          { # Represents a single operation identifier extracted from the request payload.
+            &quot;operation&quot;: &quot;A String&quot;, # Required. The operation name extracted from the request payload at runtime by the ParsePayload policy. For example, for MCP protocol requests, this could be `&quot;tools/list&quot;` or `&quot;tools/call/get_weather&quot;`. Wildcards are not supported.
+          },
+        ],
+        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on the resources, methods, API source combination associated with this API product. While Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Optional. Quota parameters to be enforced for the operations and API source combination. If none are specified, quota enforcement will not be done unless a quota is defined at the API product level.
+          &quot;interval&quot;: &quot;A String&quot;, # Required. Time interval over which the number of request messages is calculated.
+          &quot;limit&quot;: &quot;A String&quot;, # Required. Upper limit allowed for the time interval and time unit specified. Requests exceeding this limit will be rejected.
+          &quot;timeUnit&quot;: &quot;A String&quot;, # Time unit defined for the `interval`. Valid values include `minute`, `hour`, `day`, or `month`. If `limit` and `interval` are valid, the default value is `hour`; otherwise, the default is null.
+        },
+      },
+    ],
+  },
   &quot;proxies&quot;: [ # Comma-separated list of API proxy names to which this API product is bound. By specifying API proxies, you can associate resources in the API product with specific API proxies, preventing developers from accessing those resources through other API proxies. Apigee rejects requests to API proxies that are not listed. **Note:** The API proxy names must already exist in the specified environment as they will be validated upon creation.
     &quot;A String&quot;,
   ],
@@ -1168,6 +1306,29 @@
       },
     ],
   },
+  &quot;payloadOperationGroup&quot;: { # List of payload operation configuration details associated with Apigee API proxies. Payload operations enable governance of protocols where operations are embedded in the request body (such as JSON-RPC) rather than defined by the URL path. # Optional. Configuration used to group Apigee proxies with payload-based operations and quotas. Unlike `operation_group`, which matches on the URL path, this grouping matches on operation identifiers extracted from the request payload (for example, JSON-RPC method and tool names). This enables fine-grained authorization and quota enforcement for protocols such as MCP where multiple operations share a single endpoint. **Note:** The `proxies` and `api_resources` settings cannot be specified for both the API product and payload operation group; otherwise the call will fail.
+    &quot;operationConfigs&quot;: [ # Required. List of payload operation configurations for Apigee API proxies that are associated with this API product.
+      { # Binds the payload operations in an API proxy with the associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy with which the payload operations and quota are associated.
+        &quot;attributes&quot;: [ # Optional. Custom attributes associated with the operation.
+          { # Key-value pair to store extra metadata.
+            &quot;name&quot;: &quot;A String&quot;, # API key of the attribute.
+            &quot;value&quot;: &quot;A String&quot;, # Value of the attribute.
+          },
+        ],
+        &quot;operations&quot;: [ # Required. List of payload operations for the API proxy to which quota will be applied.
+          { # Represents a single operation identifier extracted from the request payload.
+            &quot;operation&quot;: &quot;A String&quot;, # Required. The operation name extracted from the request payload at runtime by the ParsePayload policy. For example, for MCP protocol requests, this could be `&quot;tools/list&quot;` or `&quot;tools/call/get_weather&quot;`. Wildcards are not supported.
+          },
+        ],
+        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on the resources, methods, API source combination associated with this API product. While Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Optional. Quota parameters to be enforced for the operations and API source combination. If none are specified, quota enforcement will not be done unless a quota is defined at the API product level.
+          &quot;interval&quot;: &quot;A String&quot;, # Required. Time interval over which the number of request messages is calculated.
+          &quot;limit&quot;: &quot;A String&quot;, # Required. Upper limit allowed for the time interval and time unit specified. Requests exceeding this limit will be rejected.
+          &quot;timeUnit&quot;: &quot;A String&quot;, # Time unit defined for the `interval`. Valid values include `minute`, `hour`, `day`, or `month`. If `limit` and `interval` are valid, the default value is `hour`; otherwise, the default is null.
+        },
+      },
+    ],
+  },
   &quot;proxies&quot;: [ # Comma-separated list of API proxy names to which this API product is bound. By specifying API proxies, you can associate resources in the API product with specific API proxies, preventing developers from accessing those resources through other API proxies. Apigee rejects requests to API proxies that are not listed. **Note:** The API proxy names must already exist in the specified environment as they will be validated upon creation.
     &quot;A String&quot;,
   ],
@@ -1314,6 +1475,29 @@
       },
     ],
   },
+  &quot;payloadOperationGroup&quot;: { # List of payload operation configuration details associated with Apigee API proxies. Payload operations enable governance of protocols where operations are embedded in the request body (such as JSON-RPC) rather than defined by the URL path. # Optional. Configuration used to group Apigee proxies with payload-based operations and quotas. Unlike `operation_group`, which matches on the URL path, this grouping matches on operation identifiers extracted from the request payload (for example, JSON-RPC method and tool names). This enables fine-grained authorization and quota enforcement for protocols such as MCP where multiple operations share a single endpoint. **Note:** The `proxies` and `api_resources` settings cannot be specified for both the API product and payload operation group; otherwise the call will fail.
+    &quot;operationConfigs&quot;: [ # Required. List of payload operation configurations for Apigee API proxies that are associated with this API product.
+      { # Binds the payload operations in an API proxy with the associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy with which the payload operations and quota are associated.
+        &quot;attributes&quot;: [ # Optional. Custom attributes associated with the operation.
+          { # Key-value pair to store extra metadata.
+            &quot;name&quot;: &quot;A String&quot;, # API key of the attribute.
+            &quot;value&quot;: &quot;A String&quot;, # Value of the attribute.
+          },
+        ],
+        &quot;operations&quot;: [ # Required. List of payload operations for the API proxy to which quota will be applied.
+          { # Represents a single operation identifier extracted from the request payload.
+            &quot;operation&quot;: &quot;A String&quot;, # Required. The operation name extracted from the request payload at runtime by the ParsePayload policy. For example, for MCP protocol requests, this could be `&quot;tools/list&quot;` or `&quot;tools/call/get_weather&quot;`. Wildcards are not supported.
+          },
+        ],
+        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on the resources, methods, API source combination associated with this API product. While Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Optional. Quota parameters to be enforced for the operations and API source combination. If none are specified, quota enforcement will not be done unless a quota is defined at the API product level.
+          &quot;interval&quot;: &quot;A String&quot;, # Required. Time interval over which the number of request messages is calculated.
+          &quot;limit&quot;: &quot;A String&quot;, # Required. Upper limit allowed for the time interval and time unit specified. Requests exceeding this limit will be rejected.
+          &quot;timeUnit&quot;: &quot;A String&quot;, # Time unit defined for the `interval`. Valid values include `minute`, `hour`, `day`, or `month`. If `limit` and `interval` are valid, the default value is `hour`; otherwise, the default is null.
+        },
+      },
+    ],
+  },
   &quot;proxies&quot;: [ # Comma-separated list of API proxy names to which this API product is bound. By specifying API proxies, you can associate resources in the API product with specific API proxies, preventing developers from accessing those resources through other API proxies. Apigee rejects requests to API proxies that are not listed. **Note:** The API proxy names must already exist in the specified environment as they will be validated upon creation.
     &quot;A String&quot;,
   ],
diff --git a/docs/dyn/apigee_v1.organizations.environments.html b/docs/dyn/apigee_v1.organizations.environments.html
index c46744c..a17243a 100644
--- a/docs/dyn/apigee_v1.organizations.environments.html
+++ b/docs/dyn/apigee_v1.organizations.environments.html
@@ -802,6 +802,7 @@
     &quot;sampler&quot;: &quot;A String&quot;, # Sampler of distributed tracing. OFF is the default value.
     &quot;samplingRate&quot;: 3.14, # Field sampling rate. This value is only applicable when using the PROBABILITY sampler. The supported values are &gt; 0 and &lt;= 0.5.
   },
+  &quot;traceProtocol&quot;: &quot;A String&quot;, # Optional. The trace protocol to use. Configuration Requirements (if trace_protocol is OTLP): - Allowed Exporters: CLOUD_TRACE or OPEN_TELEMETRY_COLLECTOR. - If Exporter is OPEN_TELEMETRY_COLLECTOR: - endpoint refers to a valid OTLP collector URL. - If Exporter is CLOUD_TRACE: - endpoint refers to a valid project ID.
 }</pre>
 </div>
 
@@ -1327,6 +1328,7 @@
     &quot;sampler&quot;: &quot;A String&quot;, # Sampler of distributed tracing. OFF is the default value.
     &quot;samplingRate&quot;: 3.14, # Field sampling rate. This value is only applicable when using the PROBABILITY sampler. The supported values are &gt; 0 and &lt;= 0.5.
   },
+  &quot;traceProtocol&quot;: &quot;A String&quot;, # Optional. The trace protocol to use. Configuration Requirements (if trace_protocol is OTLP): - Allowed Exporters: CLOUD_TRACE or OPEN_TELEMETRY_COLLECTOR. - If Exporter is OPEN_TELEMETRY_COLLECTOR: - endpoint refers to a valid OTLP collector URL. - If Exporter is CLOUD_TRACE: - endpoint refers to a valid project ID.
 }
 
   updateMask: string, List of fields to be updated.
@@ -1345,6 +1347,7 @@
     &quot;sampler&quot;: &quot;A String&quot;, # Sampler of distributed tracing. OFF is the default value.
     &quot;samplingRate&quot;: 3.14, # Field sampling rate. This value is only applicable when using the PROBABILITY sampler. The supported values are &gt; 0 and &lt;= 0.5.
   },
+  &quot;traceProtocol&quot;: &quot;A String&quot;, # Optional. The trace protocol to use. Configuration Requirements (if trace_protocol is OTLP): - Allowed Exporters: CLOUD_TRACE or OPEN_TELEMETRY_COLLECTOR. - If Exporter is OPEN_TELEMETRY_COLLECTOR: - endpoint refers to a valid OTLP collector URL. - If Exporter is CLOUD_TRACE: - endpoint refers to a valid project ID.
 }</pre>
 </div>
 
diff --git a/docs/dyn/assuredworkloads_v1.folders.html b/docs/dyn/assuredworkloads_v1.folders.html
new file mode 100644
index 0000000..8ddd50e
--- /dev/null
+++ b/docs/dyn/assuredworkloads_v1.folders.html
@@ -0,0 +1,91 @@
+<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="assuredworkloads_v1.html">Assured Workloads API</a> . <a href="assuredworkloads_v1.folders.html">folders</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="assuredworkloads_v1.folders.locations.html">locations()</a></code>
+</p>
+<p class="firstline">Returns the locations 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/assuredworkloads_v1.folders.locations.dbFindingSummaries.html b/docs/dyn/assuredworkloads_v1.folders.locations.dbFindingSummaries.html
new file mode 100644
index 0000000..6fe640c
--- /dev/null
+++ b/docs/dyn/assuredworkloads_v1.folders.locations.dbFindingSummaries.html
@@ -0,0 +1,141 @@
+<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="assuredworkloads_v1.html">Assured Workloads API</a> . <a href="assuredworkloads_v1.folders.html">folders</a> . <a href="assuredworkloads_v1.folders.locations.html">locations</a> . <a href="assuredworkloads_v1.folders.locations.dbFindingSummaries.html">dbFindingSummaries</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, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists the finding summary by category for a given scope.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</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, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists the finding summary by category for a given scope.
+
+Args:
+  parent: string, Required. The parent scope for the framework overview page. Formats: - projects/{project}/locations/{location} - folders/{folder}/locations/{location} - organizations/{organization}/locations/{location} (required)
+  filter: string, Optional. The filtering results.
+  pageSize: integer, Optional. The requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A token that identifies the page of results that the server should return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for ListDbFindingSummaries.
+  &quot;dbFindingSummaries&quot;: [ # List of finding summary by category.
+    { # The details for a finding.
+      &quot;findingCategory&quot;: &quot;A String&quot;, # Output only. The category of the finding.
+      &quot;findingClass&quot;: &quot;A String&quot;, # Output only. The class of the finding.
+      &quot;findingCount&quot;: &quot;A String&quot;, # Output only. The count of the finding.
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the finding summary.
+      &quot;relatedFrameworks&quot;: [ # Optional. The list of compliance frameworks that the finding belongs to.
+        &quot;A String&quot;,
+      ],
+      &quot;severity&quot;: &quot;A String&quot;, # Output only. The severity of the finding.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last updated time of the finding.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Output only. The token to retrieve the next page of results.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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/assuredworkloads_v1.folders.locations.html b/docs/dyn/assuredworkloads_v1.folders.locations.html
new file mode 100644
index 0000000..efe945a
--- /dev/null
+++ b/docs/dyn/assuredworkloads_v1.folders.locations.html
@@ -0,0 +1,91 @@
+<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="assuredworkloads_v1.html">Assured Workloads API</a> . <a href="assuredworkloads_v1.folders.html">folders</a> . <a href="assuredworkloads_v1.folders.locations.html">locations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="assuredworkloads_v1.folders.locations.dbFindingSummaries.html">dbFindingSummaries()</a></code>
+</p>
+<p class="firstline">Returns the dbFindingSummaries 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/assuredworkloads_v1.html b/docs/dyn/assuredworkloads_v1.html
index c1e1412..bf26bb0 100644
--- a/docs/dyn/assuredworkloads_v1.html
+++ b/docs/dyn/assuredworkloads_v1.html
@@ -80,11 +80,21 @@
 <p class="firstline">Returns the assuredworkloads Resource.</p>
 
 <p class="toc_element">
+  <code><a href="assuredworkloads_v1.folders.html">folders()</a></code>
+</p>
+<p class="firstline">Returns the folders Resource.</p>
+
+<p class="toc_element">
   <code><a href="assuredworkloads_v1.organizations.html">organizations()</a></code>
 </p>
 <p class="firstline">Returns the organizations Resource.</p>
 
 <p class="toc_element">
+  <code><a href="assuredworkloads_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">
diff --git a/docs/dyn/assuredworkloads_v1.organizations.locations.dbFindingSummaries.html b/docs/dyn/assuredworkloads_v1.organizations.locations.dbFindingSummaries.html
new file mode 100644
index 0000000..27af88f
--- /dev/null
+++ b/docs/dyn/assuredworkloads_v1.organizations.locations.dbFindingSummaries.html
@@ -0,0 +1,141 @@
+<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="assuredworkloads_v1.html">Assured Workloads API</a> . <a href="assuredworkloads_v1.organizations.html">organizations</a> . <a href="assuredworkloads_v1.organizations.locations.html">locations</a> . <a href="assuredworkloads_v1.organizations.locations.dbFindingSummaries.html">dbFindingSummaries</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, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists the finding summary by category for a given scope.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</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, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists the finding summary by category for a given scope.
+
+Args:
+  parent: string, Required. The parent scope for the framework overview page. Formats: - projects/{project}/locations/{location} - folders/{folder}/locations/{location} - organizations/{organization}/locations/{location} (required)
+  filter: string, Optional. The filtering results.
+  pageSize: integer, Optional. The requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A token that identifies the page of results that the server should return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for ListDbFindingSummaries.
+  &quot;dbFindingSummaries&quot;: [ # List of finding summary by category.
+    { # The details for a finding.
+      &quot;findingCategory&quot;: &quot;A String&quot;, # Output only. The category of the finding.
+      &quot;findingClass&quot;: &quot;A String&quot;, # Output only. The class of the finding.
+      &quot;findingCount&quot;: &quot;A String&quot;, # Output only. The count of the finding.
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the finding summary.
+      &quot;relatedFrameworks&quot;: [ # Optional. The list of compliance frameworks that the finding belongs to.
+        &quot;A String&quot;,
+      ],
+      &quot;severity&quot;: &quot;A String&quot;, # Output only. The severity of the finding.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last updated time of the finding.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Output only. The token to retrieve the next page of results.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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/assuredworkloads_v1.organizations.locations.html b/docs/dyn/assuredworkloads_v1.organizations.locations.html
index 8b2f24f..ced3fa8 100644
--- a/docs/dyn/assuredworkloads_v1.organizations.locations.html
+++ b/docs/dyn/assuredworkloads_v1.organizations.locations.html
@@ -75,6 +75,11 @@
 <h1><a href="assuredworkloads_v1.html">Assured Workloads API</a> . <a href="assuredworkloads_v1.organizations.html">organizations</a> . <a href="assuredworkloads_v1.organizations.locations.html">locations</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="assuredworkloads_v1.organizations.locations.dbFindingSummaries.html">dbFindingSummaries()</a></code>
+</p>
+<p class="firstline">Returns the dbFindingSummaries Resource.</p>
+
+<p class="toc_element">
   <code><a href="assuredworkloads_v1.organizations.locations.operations.html">operations()</a></code>
 </p>
 <p class="firstline">Returns the operations Resource.</p>
diff --git a/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.violations.html b/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.violations.html
index f3db75e..837ac8f 100644
--- a/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.violations.html
+++ b/docs/dyn/assuredworkloads_v1.organizations.locations.workloads.violations.html
@@ -146,6 +146,7 @@
   An object of the form:
 
     { # Response for batch violation acknowledgement
+  &quot;acknowledgedViolationsCount&quot;: 42, # Count of acknowledged violations.
 }</pre>
 </div>
 
diff --git a/docs/dyn/assuredworkloads_v1.projects.html b/docs/dyn/assuredworkloads_v1.projects.html
new file mode 100644
index 0000000..e2cf4ec
--- /dev/null
+++ b/docs/dyn/assuredworkloads_v1.projects.html
@@ -0,0 +1,91 @@
+<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="assuredworkloads_v1.html">Assured Workloads API</a> . <a href="assuredworkloads_v1.projects.html">projects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="assuredworkloads_v1.projects.locations.html">locations()</a></code>
+</p>
+<p class="firstline">Returns the locations 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/assuredworkloads_v1.projects.locations.dbFindingSummaries.html b/docs/dyn/assuredworkloads_v1.projects.locations.dbFindingSummaries.html
new file mode 100644
index 0000000..254ff53
--- /dev/null
+++ b/docs/dyn/assuredworkloads_v1.projects.locations.dbFindingSummaries.html
@@ -0,0 +1,141 @@
+<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="assuredworkloads_v1.html">Assured Workloads API</a> . <a href="assuredworkloads_v1.projects.html">projects</a> . <a href="assuredworkloads_v1.projects.locations.html">locations</a> . <a href="assuredworkloads_v1.projects.locations.dbFindingSummaries.html">dbFindingSummaries</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, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists the finding summary by category for a given scope.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</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, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists the finding summary by category for a given scope.
+
+Args:
+  parent: string, Required. The parent scope for the framework overview page. Formats: - projects/{project}/locations/{location} - folders/{folder}/locations/{location} - organizations/{organization}/locations/{location} (required)
+  filter: string, Optional. The filtering results.
+  pageSize: integer, Optional. The requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.
+  pageToken: string, Optional. A token that identifies the page of results that the server should return.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The response message for ListDbFindingSummaries.
+  &quot;dbFindingSummaries&quot;: [ # List of finding summary by category.
+    { # The details for a finding.
+      &quot;findingCategory&quot;: &quot;A String&quot;, # Output only. The category of the finding.
+      &quot;findingClass&quot;: &quot;A String&quot;, # Output only. The class of the finding.
+      &quot;findingCount&quot;: &quot;A String&quot;, # Output only. The count of the finding.
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the finding summary.
+      &quot;relatedFrameworks&quot;: [ # Optional. The list of compliance frameworks that the finding belongs to.
+        &quot;A String&quot;,
+      ],
+      &quot;severity&quot;: &quot;A String&quot;, # Output only. The severity of the finding.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The last updated time of the finding.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Output only. The token to retrieve the next page of results.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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/assuredworkloads_v1.projects.locations.html b/docs/dyn/assuredworkloads_v1.projects.locations.html
new file mode 100644
index 0000000..5f47982
--- /dev/null
+++ b/docs/dyn/assuredworkloads_v1.projects.locations.html
@@ -0,0 +1,91 @@
+<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="assuredworkloads_v1.html">Assured Workloads API</a> . <a href="assuredworkloads_v1.projects.html">projects</a> . <a href="assuredworkloads_v1.projects.locations.html">locations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="assuredworkloads_v1.projects.locations.dbFindingSummaries.html">dbFindingSummaries()</a></code>
+</p>
+<p class="firstline">Returns the dbFindingSummaries 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/assuredworkloads_v1beta1.organizations.locations.violations.html b/docs/dyn/assuredworkloads_v1beta1.organizations.locations.violations.html
index fc29650..ba41739 100644
--- a/docs/dyn/assuredworkloads_v1beta1.organizations.locations.violations.html
+++ b/docs/dyn/assuredworkloads_v1beta1.organizations.locations.violations.html
@@ -107,6 +107,7 @@
   An object of the form:
 
     { # Response for batch violation acknowledgement
+  &quot;acknowledgedViolationsCount&quot;: 42, # Count of acknowledged violations.
 }</pre>
 </div>
 
diff --git a/docs/dyn/assuredworkloads_v1beta1.organizations.locations.workloads.violations.html b/docs/dyn/assuredworkloads_v1beta1.organizations.locations.workloads.violations.html
index 2d3afe6..5982d71 100644
--- a/docs/dyn/assuredworkloads_v1beta1.organizations.locations.workloads.violations.html
+++ b/docs/dyn/assuredworkloads_v1beta1.organizations.locations.workloads.violations.html
@@ -146,6 +146,7 @@
   An object of the form:
 
     { # Response for batch violation acknowledgement
+  &quot;acknowledgedViolationsCount&quot;: 42, # Count of acknowledged violations.
 }</pre>
 </div>
 
diff --git a/docs/dyn/assuredworkloads_v1beta1.organizations.violations.html b/docs/dyn/assuredworkloads_v1beta1.organizations.violations.html
index 8ebf2d9..28dc04e 100644
--- a/docs/dyn/assuredworkloads_v1beta1.organizations.violations.html
+++ b/docs/dyn/assuredworkloads_v1beta1.organizations.violations.html
@@ -107,6 +107,7 @@
   An object of the form:
 
     { # Response for batch violation acknowledgement
+  &quot;acknowledgedViolationsCount&quot;: 42, # Count of acknowledged violations.
 }</pre>
 </div>
 
diff --git a/docs/dyn/backupdr_v1.projects.locations.backupVaults.dataSources.html b/docs/dyn/backupdr_v1.projects.locations.backupVaults.dataSources.html
index 8a53c6e..0e96704 100644
--- a/docs/dyn/backupdr_v1.projects.locations.backupVaults.dataSources.html
+++ b/docs/dyn/backupdr_v1.projects.locations.backupVaults.dataSources.html
@@ -184,7 +184,7 @@
     { # Response message for FetchAccessToken.
   &quot;expireTime&quot;: &quot;A String&quot;, # The token is valid until this time.
   &quot;readLocation&quot;: &quot;A String&quot;, # The location in bucket that can be used for reading.
-  &quot;token&quot;: &quot;A String&quot;, # The downscoped token that was created.
+  &quot;token&quot;: &quot;A String&quot;, # Input only. The downscoped token that was created.
   &quot;writeLocation&quot;: &quot;A String&quot;, # The location in bucket that can be used for writing.
 }</pre>
 </div>
diff --git a/docs/dyn/bigquery_v2.routines.html b/docs/dyn/bigquery_v2.routines.html
index 7c978a3..6c3bec4 100644
--- a/docs/dyn/bigquery_v2.routines.html
+++ b/docs/dyn/bigquery_v2.routines.html
@@ -185,7 +185,7 @@
   &quot;externalRuntimeOptions&quot;: { # Options for the runtime of the external system. # Optional. Options for the runtime of the external system executing the routine. This field is only applicable for Python UDFs. [Preview](https://cloud.google.com/products/#product-launch-stages)
     &quot;containerCpu&quot;: 3.14, # Optional. Amount of CPU provisioned for a Python UDF container instance. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)
     &quot;containerMemory&quot;: &quot;A String&quot;, # Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number}{unit} where unit is one of &quot;M&quot;, &quot;G&quot;, &quot;Mi&quot; and &quot;Gi&quot; (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)
-    &quot;containerRequestConcurrency&quot;: &quot;A String&quot;, # Optional. Maximum number of requests that a Python UDF container instance can handle concurrently. If absent or if `0`, a default concurrency is used.
+    &quot;containerRequestConcurrency&quot;: &quot;A String&quot;, # Optional. Maximum number of requests that a Python UDF instance can handle concurrently. If absent or if `0`, the default concurrency value is used. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits).
     &quot;maxBatchingRows&quot;: &quot;A String&quot;, # Optional. Maximum number of rows in each batch sent to the external runtime. If absent or if 0, BigQuery dynamically decides the number of rows in a batch.
     &quot;runtimeConnection&quot;: &quot;A String&quot;, # Optional. Fully qualified name of the connection whose service account will be used to execute the code in the container. Format: ```&quot;projects/{project_id}/locations/{location_id}/connections/{connection_id}&quot;```
     &quot;runtimeVersion&quot;: &quot;A String&quot;, # Optional. Language runtime version. Example: `python-3.11`.
@@ -372,7 +372,7 @@
   &quot;externalRuntimeOptions&quot;: { # Options for the runtime of the external system. # Optional. Options for the runtime of the external system executing the routine. This field is only applicable for Python UDFs. [Preview](https://cloud.google.com/products/#product-launch-stages)
     &quot;containerCpu&quot;: 3.14, # Optional. Amount of CPU provisioned for a Python UDF container instance. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)
     &quot;containerMemory&quot;: &quot;A String&quot;, # Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number}{unit} where unit is one of &quot;M&quot;, &quot;G&quot;, &quot;Mi&quot; and &quot;Gi&quot; (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)
-    &quot;containerRequestConcurrency&quot;: &quot;A String&quot;, # Optional. Maximum number of requests that a Python UDF container instance can handle concurrently. If absent or if `0`, a default concurrency is used.
+    &quot;containerRequestConcurrency&quot;: &quot;A String&quot;, # Optional. Maximum number of requests that a Python UDF instance can handle concurrently. If absent or if `0`, the default concurrency value is used. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits).
     &quot;maxBatchingRows&quot;: &quot;A String&quot;, # Optional. Maximum number of rows in each batch sent to the external runtime. If absent or if 0, BigQuery dynamically decides the number of rows in a batch.
     &quot;runtimeConnection&quot;: &quot;A String&quot;, # Optional. Fully qualified name of the connection whose service account will be used to execute the code in the container. Format: ```&quot;projects/{project_id}/locations/{location_id}/connections/{connection_id}&quot;```
     &quot;runtimeVersion&quot;: &quot;A String&quot;, # Optional. Language runtime version. Example: `python-3.11`.
@@ -500,7 +500,7 @@
   &quot;externalRuntimeOptions&quot;: { # Options for the runtime of the external system. # Optional. Options for the runtime of the external system executing the routine. This field is only applicable for Python UDFs. [Preview](https://cloud.google.com/products/#product-launch-stages)
     &quot;containerCpu&quot;: 3.14, # Optional. Amount of CPU provisioned for a Python UDF container instance. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)
     &quot;containerMemory&quot;: &quot;A String&quot;, # Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number}{unit} where unit is one of &quot;M&quot;, &quot;G&quot;, &quot;Mi&quot; and &quot;Gi&quot; (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)
-    &quot;containerRequestConcurrency&quot;: &quot;A String&quot;, # Optional. Maximum number of requests that a Python UDF container instance can handle concurrently. If absent or if `0`, a default concurrency is used.
+    &quot;containerRequestConcurrency&quot;: &quot;A String&quot;, # Optional. Maximum number of requests that a Python UDF instance can handle concurrently. If absent or if `0`, the default concurrency value is used. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits).
     &quot;maxBatchingRows&quot;: &quot;A String&quot;, # Optional. Maximum number of rows in each batch sent to the external runtime. If absent or if 0, BigQuery dynamically decides the number of rows in a batch.
     &quot;runtimeConnection&quot;: &quot;A String&quot;, # Optional. Fully qualified name of the connection whose service account will be used to execute the code in the container. Format: ```&quot;projects/{project_id}/locations/{location_id}/connections/{connection_id}&quot;```
     &quot;runtimeVersion&quot;: &quot;A String&quot;, # Optional. Language runtime version. Example: `python-3.11`.
@@ -643,7 +643,7 @@
       &quot;externalRuntimeOptions&quot;: { # Options for the runtime of the external system. # Optional. Options for the runtime of the external system executing the routine. This field is only applicable for Python UDFs. [Preview](https://cloud.google.com/products/#product-launch-stages)
         &quot;containerCpu&quot;: 3.14, # Optional. Amount of CPU provisioned for a Python UDF container instance. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)
         &quot;containerMemory&quot;: &quot;A String&quot;, # Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number}{unit} where unit is one of &quot;M&quot;, &quot;G&quot;, &quot;Mi&quot; and &quot;Gi&quot; (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)
-        &quot;containerRequestConcurrency&quot;: &quot;A String&quot;, # Optional. Maximum number of requests that a Python UDF container instance can handle concurrently. If absent or if `0`, a default concurrency is used.
+        &quot;containerRequestConcurrency&quot;: &quot;A String&quot;, # Optional. Maximum number of requests that a Python UDF instance can handle concurrently. If absent or if `0`, the default concurrency value is used. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits).
         &quot;maxBatchingRows&quot;: &quot;A String&quot;, # Optional. Maximum number of rows in each batch sent to the external runtime. If absent or if 0, BigQuery dynamically decides the number of rows in a batch.
         &quot;runtimeConnection&quot;: &quot;A String&quot;, # Optional. Fully qualified name of the connection whose service account will be used to execute the code in the container. Format: ```&quot;projects/{project_id}/locations/{location_id}/connections/{connection_id}&quot;```
         &quot;runtimeVersion&quot;: &quot;A String&quot;, # Optional. Language runtime version. Example: `python-3.11`.
@@ -906,7 +906,7 @@
   &quot;externalRuntimeOptions&quot;: { # Options for the runtime of the external system. # Optional. Options for the runtime of the external system executing the routine. This field is only applicable for Python UDFs. [Preview](https://cloud.google.com/products/#product-launch-stages)
     &quot;containerCpu&quot;: 3.14, # Optional. Amount of CPU provisioned for a Python UDF container instance. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)
     &quot;containerMemory&quot;: &quot;A String&quot;, # Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number}{unit} where unit is one of &quot;M&quot;, &quot;G&quot;, &quot;Mi&quot; and &quot;Gi&quot; (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)
-    &quot;containerRequestConcurrency&quot;: &quot;A String&quot;, # Optional. Maximum number of requests that a Python UDF container instance can handle concurrently. If absent or if `0`, a default concurrency is used.
+    &quot;containerRequestConcurrency&quot;: &quot;A String&quot;, # Optional. Maximum number of requests that a Python UDF instance can handle concurrently. If absent or if `0`, the default concurrency value is used. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits).
     &quot;maxBatchingRows&quot;: &quot;A String&quot;, # Optional. Maximum number of rows in each batch sent to the external runtime. If absent or if 0, BigQuery dynamically decides the number of rows in a batch.
     &quot;runtimeConnection&quot;: &quot;A String&quot;, # Optional. Fully qualified name of the connection whose service account will be used to execute the code in the container. Format: ```&quot;projects/{project_id}/locations/{location_id}/connections/{connection_id}&quot;```
     &quot;runtimeVersion&quot;: &quot;A String&quot;, # Optional. Language runtime version. Example: `python-3.11`.
@@ -1034,7 +1034,7 @@
   &quot;externalRuntimeOptions&quot;: { # Options for the runtime of the external system. # Optional. Options for the runtime of the external system executing the routine. This field is only applicable for Python UDFs. [Preview](https://cloud.google.com/products/#product-launch-stages)
     &quot;containerCpu&quot;: 3.14, # Optional. Amount of CPU provisioned for a Python UDF container instance. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)
     &quot;containerMemory&quot;: &quot;A String&quot;, # Optional. Amount of memory provisioned for a Python UDF container instance. Format: {number}{unit} where unit is one of &quot;M&quot;, &quot;G&quot;, &quot;Mi&quot; and &quot;Gi&quot; (e.g. 1G, 512Mi). If not specified, the default value is 512Mi. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits)
-    &quot;containerRequestConcurrency&quot;: &quot;A String&quot;, # Optional. Maximum number of requests that a Python UDF container instance can handle concurrently. If absent or if `0`, a default concurrency is used.
+    &quot;containerRequestConcurrency&quot;: &quot;A String&quot;, # Optional. Maximum number of requests that a Python UDF instance can handle concurrently. If absent or if `0`, the default concurrency value is used. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits).
     &quot;maxBatchingRows&quot;: &quot;A String&quot;, # Optional. Maximum number of rows in each batch sent to the external runtime. If absent or if 0, BigQuery dynamically decides the number of rows in a batch.
     &quot;runtimeConnection&quot;: &quot;A String&quot;, # Optional. Fully qualified name of the connection whose service account will be used to execute the code in the container. Format: ```&quot;projects/{project_id}/locations/{location_id}/connections/{connection_id}&quot;```
     &quot;runtimeVersion&quot;: &quot;A String&quot;, # Optional. Language runtime version. Example: `python-3.11`.
diff --git a/docs/dyn/chat_v1.spaces.html b/docs/dyn/chat_v1.spaces.html
index c440624..47aa5fa 100644
--- a/docs/dyn/chat_v1.spaces.html
+++ b/docs/dyn/chat_v1.spaces.html
@@ -124,7 +124,7 @@
 <p class="firstline">Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). If you're updating the `displayName` field and receive the error message `ALREADY_EXISTS`, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.app.spaces` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces` - `https://www.googleapis.com/auth/chat.import` (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, `use_admin_access` is `true`, and the following authorization scopes is used: - `https://www.googleapis.com/auth/chat.admin.spaces` App authentication has the following limitations: - To update either `space.predefined_permission_settings` or `space.permission_settings`, the app must be the space creator. - Updating the `space.access_settings.audience` is not supported for app authentication.</p>
 <p class="toc_element">
   <code><a href="#search">search(orderBy=None, pageSize=None, pageToken=None, query=None, useAdminAccess=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Returns a list of spaces in a Google Workspace organization. For an example, see [Search for and manage spaces](https://developers.google.com/workspace/chat/search-manage-admin). When `use_admin_access` is set to `false`, the results are limited to spaces where the calling user is a joined member. To search with administrator privileges, set `use_admin_access` to `true`. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.readonly` - `https://www.googleapis.com/auth/chat.spaces` - [User authentication with administrator privileges](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges) and one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.admin.spaces.readonly` - `https://www.googleapis.com/auth/chat.admin.spaces`</p>
+<p class="firstline">Returns a list of spaces in a Google Workspace organization. For an example, see [Search for and manage spaces](https://developers.google.com/workspace/chat/search-manage-admin). When `use_admin_access` is set to `false`, the results are limited to spaces where the calling user is a joined member. To search with administrator privileges, set `use_admin_access` to `true`. Setting `use_admin_access` to `false` is available under Developer Preview. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.readonly` - `https://www.googleapis.com/auth/chat.spaces` - [User authentication with administrator privileges](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges) and one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.admin.spaces.readonly` - `https://www.googleapis.com/auth/chat.admin.spaces`</p>
 <p class="toc_element">
   <code><a href="#search_next">search_next()</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -993,14 +993,14 @@
 
 <div class="method">
     <code class="details" id="search">search(orderBy=None, pageSize=None, pageToken=None, query=None, useAdminAccess=None, x__xgafv=None)</code>
-  <pre>Returns a list of spaces in a Google Workspace organization. For an example, see [Search for and manage spaces](https://developers.google.com/workspace/chat/search-manage-admin). When `use_admin_access` is set to `false`, the results are limited to spaces where the calling user is a joined member. To search with administrator privileges, set `use_admin_access` to `true`. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.readonly` - `https://www.googleapis.com/auth/chat.spaces` - [User authentication with administrator privileges](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges) and one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.admin.spaces.readonly` - `https://www.googleapis.com/auth/chat.admin.spaces`
+  <pre>Returns a list of spaces in a Google Workspace organization. For an example, see [Search for and manage spaces](https://developers.google.com/workspace/chat/search-manage-admin). When `use_admin_access` is set to `false`, the results are limited to spaces where the calling user is a joined member. To search with administrator privileges, set `use_admin_access` to `true`. Setting `use_admin_access` to `false` is available under Developer Preview. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.readonly` - `https://www.googleapis.com/auth/chat.spaces` - [User authentication with administrator privileges](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges) and one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.admin.spaces.readonly` - `https://www.googleapis.com/auth/chat.admin.spaces`
 
 Args:
   orderBy: string, Optional. How the list of spaces is ordered. Supported attributes to order by are: - `membership_count.joined_direct_human_user_count` — Denotes the count of human users that have directly joined a space. - `last_active_time` — Denotes the time when last eligible item is added to any topic of this space. - `create_time` — Denotes the time of the space creation. When `useAdminAccess` is `false`, only `create_time` and `relevance` are supported for ordering. Only `DESC` is supported for these fields in non-admin searches. Valid ordering operation values are: - `ASC` for ascending. Default value. - `DESC` for descending. The supported syntax are when `useAdminAccess` is set to `true`: - `membership_count.joined_direct_human_user_count DESC` - `membership_count.joined_direct_human_user_count ASC` - `last_active_time DESC` - `last_active_time ASC` - `create_time DESC` - `create_time ASC` When `useAdminAccess` is set to `false`: - `create_time DESC` - `relevance DESC`
   pageSize: integer, The maximum number of spaces to return. The service may return fewer than this value. If unspecified, at most 100 spaces are returned. The maximum value is 1000. If you use a value more than 1000, it&#x27;s automatically changed to 1000.
   pageToken: string, A token, received from the previous search spaces call. Provide this parameter to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results.
-  query: string, Required. A search query. You can search by using the following parameters when `useAdminAccess` is set to `true`: - `create_time` - `customer` - `display_name` - `external_user_allowed` - `last_active_time` - `space_history_state` - `space_type` When `useAdminAccess` is set to `false`: - `display_name` - `external_user_allowed` `create_time` and `last_active_time` accept a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and the supported comparison operators are: `=`, `&lt;`, `&gt;`, `&lt;=`, `&gt;=`. `customer` is required and is used to indicate which customer to fetch spaces from. `customers/my_customer` is the only supported value. `display_name` only accepts the `HAS` (`:`) operator. The text to match is first tokenized into tokens and each token is prefix-matched case-insensitively and independently as a substring anywhere in the space&#x27;s `display_name`. For example, `Fun Eve` matches `Fun event` or `The evening was fun`, but not `notFun event` or `even`. When `useAdminAccess` is set to `false`, `display_name` is required to retrieve meaningful results. Otherwise, the default behavior is to return an empty response. `external_user_allowed` accepts either `true` or `false`. `space_history_state` only accepts values from the [`historyState`] (https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#Space.HistoryState) field of a `space` resource. `space_type` is required and the only valid value is `SPACE`. Across different fields, only `AND` operators are supported. A valid example is `space_type = &quot;SPACE&quot; AND display_name:&quot;Hello&quot;` and an invalid example is `space_type = &quot;SPACE&quot; OR display_name:&quot;Hello&quot;`. Among the same field, `space_type` doesn&#x27;t support `AND` or `OR` operators. `display_name`, &#x27;space_history_state&#x27;, and &#x27;external_user_allowed&#x27; only support `OR` operators. `last_active_time` and `create_time` support both `AND` and `OR` operators. `AND` can only be used to represent an interval, such as `last_active_time &lt; &quot;2022-01-01T00:00:00+00:00&quot; AND last_active_time &gt; &quot;2023-01-01T00:00:00+00:00&quot;`. The following example queries are valid when `useAdminAccess` is set to `true`: ``` customer = &quot;customers/my_customer&quot; AND space_type = &quot;SPACE&quot; customer = &quot;customers/my_customer&quot; AND space_type = &quot;SPACE&quot; AND display_name:&quot;Hello World&quot; customer = &quot;customers/my_customer&quot; AND space_type = &quot;SPACE&quot; AND (last_active_time &lt; &quot;2020-01-01T00:00:00+00:00&quot; OR last_active_time &gt; &quot;2022-01-01T00:00:00+00:00&quot;) customer = &quot;customers/my_customer&quot; AND space_type = &quot;SPACE&quot; AND (display_name:&quot;Hello World&quot; OR display_name:&quot;Fun event&quot;) AND (last_active_time &gt; &quot;2020-01-01T00:00:00+00:00&quot; AND last_active_time &lt; &quot;2022-01-01T00:00:00+00:00&quot;) customer = &quot;customers/my_customer&quot; AND space_type = &quot;SPACE&quot; AND (create_time &gt; &quot;2019-01-01T00:00:00+00:00&quot; AND create_time &lt; &quot;2020-01-01T00:00:00+00:00&quot;) AND (external_user_allowed = &quot;true&quot;) AND (space_history_state = &quot;HISTORY_ON&quot; OR space_history_state = &quot;HISTORY_OFF&quot;) ``` The following example queries are valid when `useAdminAccess` is set to `false`: ``` display_name:&quot;Hello World&quot; (display_name:&quot;Hello&quot; OR display_name:&quot;Fun&quot;) (external_user_allowed = &quot;true&quot;) (external_user_allowed = &quot;true&quot; AND display_name:&quot;Hello&quot;) ```
-  useAdminAccess: boolean, When `true`, the method runs using the user&#x27;s Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires either the `chat.admin.spaces.readonly` or `chat.admin.spaces` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes).
+  query: string, Required. A search query. You can search by using the following parameters when `useAdminAccess` is set to `true`: - `create_time` - `customer` - `display_name` - `external_user_allowed` - `last_active_time` - `space_history_state` - `space_type` When `useAdminAccess` is set to `false`: - `display_name` - `external_user_allowed` `create_time` and `last_active_time` accept a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and the supported comparison operators are: `=`, `&lt;`, `&gt;`, `&lt;=`, `&gt;=`. `customer` is required when `useAdminAccess` is set to `true`, and is used to indicate which customer to fetch spaces from. `customers/my_customer` is the only supported value. `display_name` only accepts the `HAS` (`:`) operator. The text to match is first tokenized into tokens and each token is prefix-matched case-insensitively and independently as a substring anywhere in the space&#x27;s `display_name`. For example, `Fun Eve` matches `Fun event` or `The evening was fun`, but not `notFun event` or `even`. When `useAdminAccess` is set to `false`, `display_name` is required to retrieve meaningful results. Otherwise, the default behavior is to return an empty response. `external_user_allowed` accepts either `true` or `false`. `space_history_state` only accepts values from the [`historyState`] (https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#Space.HistoryState) field of a `space` resource. `space_type` is required when `useAdminAccess` is set to `true`, and the only valid value is `SPACE`. Across different fields, only `AND` operators are supported. A valid example is `space_type = &quot;SPACE&quot; AND display_name:&quot;Hello&quot;` and an invalid example is `space_type = &quot;SPACE&quot; OR display_name:&quot;Hello&quot;`. Among the same field, `space_type` doesn&#x27;t support `AND` or `OR` operators. `display_name`, &#x27;space_history_state&#x27;, and &#x27;external_user_allowed&#x27; only support `OR` operators. `last_active_time` and `create_time` support both `AND` and `OR` operators. `AND` can only be used to represent an interval, such as `last_active_time &lt; &quot;2022-01-01T00:00:00+00:00&quot; AND last_active_time &gt; &quot;2023-01-01T00:00:00+00:00&quot;`. The following example queries are valid when `useAdminAccess` is set to `true`: ``` customer = &quot;customers/my_customer&quot; AND space_type = &quot;SPACE&quot; customer = &quot;customers/my_customer&quot; AND space_type = &quot;SPACE&quot; AND display_name:&quot;Hello World&quot; customer = &quot;customers/my_customer&quot; AND space_type = &quot;SPACE&quot; AND (last_active_time &lt; &quot;2020-01-01T00:00:00+00:00&quot; OR last_active_time &gt; &quot;2022-01-01T00:00:00+00:00&quot;) customer = &quot;customers/my_customer&quot; AND space_type = &quot;SPACE&quot; AND (display_name:&quot;Hello World&quot; OR display_name:&quot;Fun event&quot;) AND (last_active_time &gt; &quot;2020-01-01T00:00:00+00:00&quot; AND last_active_time &lt; &quot;2022-01-01T00:00:00+00:00&quot;) customer = &quot;customers/my_customer&quot; AND space_type = &quot;SPACE&quot; AND (create_time &gt; &quot;2019-01-01T00:00:00+00:00&quot; AND create_time &lt; &quot;2020-01-01T00:00:00+00:00&quot;) AND (external_user_allowed = &quot;true&quot;) AND (space_history_state = &quot;HISTORY_ON&quot; OR space_history_state = &quot;HISTORY_OFF&quot;) ``` The following example queries are valid when `useAdminAccess` is set to `false`: ``` display_name:&quot;Hello World&quot; (display_name:&quot;Hello&quot; OR display_name:&quot;Fun&quot;) (external_user_allowed = &quot;true&quot;) // Returns an empty response. (external_user_allowed = &quot;true&quot; AND display_name:&quot;Hello&quot;) ```
+  useAdminAccess: boolean, When `true`, the method runs using the user&#x27;s Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires either the `chat.admin.spaces.readonly` or `chat.admin.spaces` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Setting `use_admin_access` to `false` is available under Developer Preview. [Developer Preview](https://developers.google.com/workspace/preview).
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/chat_v1.users.availability.html b/docs/dyn/chat_v1.users.availability.html
new file mode 100644
index 0000000..bc2feef
--- /dev/null
+++ b/docs/dyn/chat_v1.users.availability.html
@@ -0,0 +1,358 @@
+<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="chat_v1.html">Google Chat API</a> . <a href="chat_v1.users.html">users</a> . <a href="chat_v1.users.availability.html">availability</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="#getAvailability">getAvailability(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Returns availability information for a human user in Google Chat. For example, this can be used to check if a user is online or away, or to retrieve their custom status message. This method only retrieves the authenticated user's availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability.readonly` - `https://www.googleapis.com/auth/chat.users.availability`</p>
+<p class="toc_element">
+  <code><a href="#markAsActive">markAsActive(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Marks user as `ACTIVE` in Google Chat. Sets the user's availability state to `ACTIVE`. The `ACTIVE` state lasts until the specified expiration, at which point the user's state becomes `AWAY`. Note that if the user is actively using Chat, the `ACTIVE` state duration may extend beyond the provided expiration. This method only updates the authenticated user's availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`</p>
+<p class="toc_element">
+  <code><a href="#markAsAway">markAsAway(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Marks user as `AWAY` in Google Chat. Sets the user's state to away and is not affected by the user's activity. This method only updates the authenticated user's availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`</p>
+<p class="toc_element">
+  <code><a href="#markAsDoNotDisturb">markAsDoNotDisturb(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Marks user as`DO_NOT_DISTURB` in Google Chat. Sets a user's availability state to `DO_NOT_DISTURB` until a specified expiration time. When in `DO_NOT_DISTURB`, users typically won't receive notifications. This method only updates the authenticated user's availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`</p>
+<p class="toc_element">
+  <code><a href="#updateAvailability">updateAvailability(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates availability information for a human user. Only the `custom_status` field can be updated through this method. This method only updates the authenticated user's availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`</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="getAvailability">getAvailability(name, x__xgafv=None)</code>
+  <pre>Returns availability information for a human user in Google Chat. For example, this can be used to check if a user is online or away, or to retrieve their custom status message. This method only retrieves the authenticated user&#x27;s availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability.readonly` - `https://www.googleapis.com/auth/chat.users.availability`
+
+Args:
+  name: string, Required. The resource name of the availability to retrieve. Format: users/{user}/availability `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user&#x27;s email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a user&#x27;s current availability information in Google Chat, including their state (for example, Active, Away, Do Not Disturb) and any custom status.
+  &quot;customStatus&quot;: { # Represents a user&#x27;s custom status in Google Chat. This includes a short text message with an optional emoji that a user sets to give more context about their availability. # Optional. The user&#x27;s custom status.
+    &quot;emoji&quot;: { # An emoji that is used as a reaction to a message. # Required. The emoji of the custom status. Only Unicode emojis are supported; custom emojis are not supported.
+      &quot;customEmoji&quot;: { # Represents a [custom emoji](https://support.google.com/chat/answer/12800149). # A custom emoji.
+        &quot;emojiName&quot;: &quot;A String&quot;, # Optional. Immutable. User-provided name for the custom emoji, which is unique within the organization. Required when the custom emoji is created, output only otherwise. Emoji names must start and end with colons, must be lowercase and can only contain alphanumeric characters, hyphens, and underscores. Hyphens and underscores should be used to separate words and cannot be used consecutively. Example: `:valid-emoji-name:`
+        &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the custom emoji, assigned by the server. Format: `customEmojis/{customEmoji}`
+        &quot;payload&quot;: { # Payload data for the custom emoji. # Optional. Input only. Payload data. Required when the custom emoji is created.
+          &quot;fileContent&quot;: &quot;A String&quot;, # Required. Input only. The image used for the custom emoji. The payload must be under 256 KB and the dimension of the image must be square and between 64 and 500 pixels. The restrictions are subject to change.
+          &quot;filename&quot;: &quot;A String&quot;, # Required. Input only. The image file name. Supported file extensions: `.png`, `.jpg`, `.gif`.
+        },
+        &quot;temporaryImageUri&quot;: &quot;A String&quot;, # Output only. A temporary image URL for the custom emoji, valid for at least 10 minutes. Note that this is not populated in the response when the custom emoji is created.
+        &quot;uid&quot;: &quot;A String&quot;, # Output only. Unique key for the custom emoji resource.
+      },
+      &quot;unicode&quot;: &quot;A String&quot;, # Optional. A basic emoji represented by a unicode string.
+    },
+    &quot;expireTime&quot;: &quot;A String&quot;, # The timestamp when the custom status expires.
+    &quot;text&quot;: &quot;A String&quot;, # Required. The text of the custom status. This will be a string with maximum length of 64.
+    &quot;ttl&quot;: &quot;A String&quot;, # Input only. The time-to-live duration after which the custom status expires.
+  },
+  &quot;doNotDisturbMetadata&quot;: { # Metadata associated with the `DO_NOT_DISTURB` availability state, specifying when the state is set to expire. # Output only. Metadata if the user state is set to DO_NOT_DISTURB.
+    &quot;expirationTime&quot;: &quot;A String&quot;, # Output only. Timestamp until which the user should be marked as DO_NOT_DISTURB. This can be maximum of 1 year in the future.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. Resource name of the user&#x27;s availability. Format: `users/{user}/availability` `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user&#x27;s email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The user&#x27;s current availability state.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="markAsActive">markAsActive(name, body=None, x__xgafv=None)</code>
+  <pre>Marks user as `ACTIVE` in Google Chat. Sets the user&#x27;s availability state to `ACTIVE`. The `ACTIVE` state lasts until the specified expiration, at which point the user&#x27;s state becomes `AWAY`. Note that if the user is actively using Chat, the `ACTIVE` state duration may extend beyond the provided expiration. This method only updates the authenticated user&#x27;s availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`
+
+Args:
+  name: string, Required. The resource name of the availability to mark as active. Format: users/{user}/availability `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user&#x27;s email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for the `MarkAsActive` method.
+  &quot;expireTime&quot;: &quot;A String&quot;, # The absolute timestamp when the ACTIVE state expires.
+  &quot;ttl&quot;: &quot;A String&quot;, # The duration from the current time until the ACTIVE state expires. Using a short TTL can effectively reset the user&#x27;s state to be based on activity after this brief duration.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a user&#x27;s current availability information in Google Chat, including their state (for example, Active, Away, Do Not Disturb) and any custom status.
+  &quot;customStatus&quot;: { # Represents a user&#x27;s custom status in Google Chat. This includes a short text message with an optional emoji that a user sets to give more context about their availability. # Optional. The user&#x27;s custom status.
+    &quot;emoji&quot;: { # An emoji that is used as a reaction to a message. # Required. The emoji of the custom status. Only Unicode emojis are supported; custom emojis are not supported.
+      &quot;customEmoji&quot;: { # Represents a [custom emoji](https://support.google.com/chat/answer/12800149). # A custom emoji.
+        &quot;emojiName&quot;: &quot;A String&quot;, # Optional. Immutable. User-provided name for the custom emoji, which is unique within the organization. Required when the custom emoji is created, output only otherwise. Emoji names must start and end with colons, must be lowercase and can only contain alphanumeric characters, hyphens, and underscores. Hyphens and underscores should be used to separate words and cannot be used consecutively. Example: `:valid-emoji-name:`
+        &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the custom emoji, assigned by the server. Format: `customEmojis/{customEmoji}`
+        &quot;payload&quot;: { # Payload data for the custom emoji. # Optional. Input only. Payload data. Required when the custom emoji is created.
+          &quot;fileContent&quot;: &quot;A String&quot;, # Required. Input only. The image used for the custom emoji. The payload must be under 256 KB and the dimension of the image must be square and between 64 and 500 pixels. The restrictions are subject to change.
+          &quot;filename&quot;: &quot;A String&quot;, # Required. Input only. The image file name. Supported file extensions: `.png`, `.jpg`, `.gif`.
+        },
+        &quot;temporaryImageUri&quot;: &quot;A String&quot;, # Output only. A temporary image URL for the custom emoji, valid for at least 10 minutes. Note that this is not populated in the response when the custom emoji is created.
+        &quot;uid&quot;: &quot;A String&quot;, # Output only. Unique key for the custom emoji resource.
+      },
+      &quot;unicode&quot;: &quot;A String&quot;, # Optional. A basic emoji represented by a unicode string.
+    },
+    &quot;expireTime&quot;: &quot;A String&quot;, # The timestamp when the custom status expires.
+    &quot;text&quot;: &quot;A String&quot;, # Required. The text of the custom status. This will be a string with maximum length of 64.
+    &quot;ttl&quot;: &quot;A String&quot;, # Input only. The time-to-live duration after which the custom status expires.
+  },
+  &quot;doNotDisturbMetadata&quot;: { # Metadata associated with the `DO_NOT_DISTURB` availability state, specifying when the state is set to expire. # Output only. Metadata if the user state is set to DO_NOT_DISTURB.
+    &quot;expirationTime&quot;: &quot;A String&quot;, # Output only. Timestamp until which the user should be marked as DO_NOT_DISTURB. This can be maximum of 1 year in the future.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. Resource name of the user&#x27;s availability. Format: `users/{user}/availability` `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user&#x27;s email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The user&#x27;s current availability state.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="markAsAway">markAsAway(name, body=None, x__xgafv=None)</code>
+  <pre>Marks user as `AWAY` in Google Chat. Sets the user&#x27;s state to away and is not affected by the user&#x27;s activity. This method only updates the authenticated user&#x27;s availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`
+
+Args:
+  name: string, Required. The resource name of the availability to mark as away. Format: users/{user}/availability `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user&#x27;s email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for the `MarkAsAway` method.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a user&#x27;s current availability information in Google Chat, including their state (for example, Active, Away, Do Not Disturb) and any custom status.
+  &quot;customStatus&quot;: { # Represents a user&#x27;s custom status in Google Chat. This includes a short text message with an optional emoji that a user sets to give more context about their availability. # Optional. The user&#x27;s custom status.
+    &quot;emoji&quot;: { # An emoji that is used as a reaction to a message. # Required. The emoji of the custom status. Only Unicode emojis are supported; custom emojis are not supported.
+      &quot;customEmoji&quot;: { # Represents a [custom emoji](https://support.google.com/chat/answer/12800149). # A custom emoji.
+        &quot;emojiName&quot;: &quot;A String&quot;, # Optional. Immutable. User-provided name for the custom emoji, which is unique within the organization. Required when the custom emoji is created, output only otherwise. Emoji names must start and end with colons, must be lowercase and can only contain alphanumeric characters, hyphens, and underscores. Hyphens and underscores should be used to separate words and cannot be used consecutively. Example: `:valid-emoji-name:`
+        &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the custom emoji, assigned by the server. Format: `customEmojis/{customEmoji}`
+        &quot;payload&quot;: { # Payload data for the custom emoji. # Optional. Input only. Payload data. Required when the custom emoji is created.
+          &quot;fileContent&quot;: &quot;A String&quot;, # Required. Input only. The image used for the custom emoji. The payload must be under 256 KB and the dimension of the image must be square and between 64 and 500 pixels. The restrictions are subject to change.
+          &quot;filename&quot;: &quot;A String&quot;, # Required. Input only. The image file name. Supported file extensions: `.png`, `.jpg`, `.gif`.
+        },
+        &quot;temporaryImageUri&quot;: &quot;A String&quot;, # Output only. A temporary image URL for the custom emoji, valid for at least 10 minutes. Note that this is not populated in the response when the custom emoji is created.
+        &quot;uid&quot;: &quot;A String&quot;, # Output only. Unique key for the custom emoji resource.
+      },
+      &quot;unicode&quot;: &quot;A String&quot;, # Optional. A basic emoji represented by a unicode string.
+    },
+    &quot;expireTime&quot;: &quot;A String&quot;, # The timestamp when the custom status expires.
+    &quot;text&quot;: &quot;A String&quot;, # Required. The text of the custom status. This will be a string with maximum length of 64.
+    &quot;ttl&quot;: &quot;A String&quot;, # Input only. The time-to-live duration after which the custom status expires.
+  },
+  &quot;doNotDisturbMetadata&quot;: { # Metadata associated with the `DO_NOT_DISTURB` availability state, specifying when the state is set to expire. # Output only. Metadata if the user state is set to DO_NOT_DISTURB.
+    &quot;expirationTime&quot;: &quot;A String&quot;, # Output only. Timestamp until which the user should be marked as DO_NOT_DISTURB. This can be maximum of 1 year in the future.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. Resource name of the user&#x27;s availability. Format: `users/{user}/availability` `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user&#x27;s email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The user&#x27;s current availability state.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="markAsDoNotDisturb">markAsDoNotDisturb(name, body=None, x__xgafv=None)</code>
+  <pre>Marks user as`DO_NOT_DISTURB` in Google Chat. Sets a user&#x27;s availability state to `DO_NOT_DISTURB` until a specified expiration time. When in `DO_NOT_DISTURB`, users typically won&#x27;t receive notifications. This method only updates the authenticated user&#x27;s availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`
+
+Args:
+  name: string, Required. The resource name of the availability to mark as Do Not Disturb. Format: users/{user}/availability `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user&#x27;s email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for the `MarkAsDoNotDisturb` method.
+  &quot;expireTime&quot;: &quot;A String&quot;, # The absolute timestamp when the DND state expires.
+  &quot;ttl&quot;: &quot;A String&quot;, # The duration from the current time until the DND state expires.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a user&#x27;s current availability information in Google Chat, including their state (for example, Active, Away, Do Not Disturb) and any custom status.
+  &quot;customStatus&quot;: { # Represents a user&#x27;s custom status in Google Chat. This includes a short text message with an optional emoji that a user sets to give more context about their availability. # Optional. The user&#x27;s custom status.
+    &quot;emoji&quot;: { # An emoji that is used as a reaction to a message. # Required. The emoji of the custom status. Only Unicode emojis are supported; custom emojis are not supported.
+      &quot;customEmoji&quot;: { # Represents a [custom emoji](https://support.google.com/chat/answer/12800149). # A custom emoji.
+        &quot;emojiName&quot;: &quot;A String&quot;, # Optional. Immutable. User-provided name for the custom emoji, which is unique within the organization. Required when the custom emoji is created, output only otherwise. Emoji names must start and end with colons, must be lowercase and can only contain alphanumeric characters, hyphens, and underscores. Hyphens and underscores should be used to separate words and cannot be used consecutively. Example: `:valid-emoji-name:`
+        &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the custom emoji, assigned by the server. Format: `customEmojis/{customEmoji}`
+        &quot;payload&quot;: { # Payload data for the custom emoji. # Optional. Input only. Payload data. Required when the custom emoji is created.
+          &quot;fileContent&quot;: &quot;A String&quot;, # Required. Input only. The image used for the custom emoji. The payload must be under 256 KB and the dimension of the image must be square and between 64 and 500 pixels. The restrictions are subject to change.
+          &quot;filename&quot;: &quot;A String&quot;, # Required. Input only. The image file name. Supported file extensions: `.png`, `.jpg`, `.gif`.
+        },
+        &quot;temporaryImageUri&quot;: &quot;A String&quot;, # Output only. A temporary image URL for the custom emoji, valid for at least 10 minutes. Note that this is not populated in the response when the custom emoji is created.
+        &quot;uid&quot;: &quot;A String&quot;, # Output only. Unique key for the custom emoji resource.
+      },
+      &quot;unicode&quot;: &quot;A String&quot;, # Optional. A basic emoji represented by a unicode string.
+    },
+    &quot;expireTime&quot;: &quot;A String&quot;, # The timestamp when the custom status expires.
+    &quot;text&quot;: &quot;A String&quot;, # Required. The text of the custom status. This will be a string with maximum length of 64.
+    &quot;ttl&quot;: &quot;A String&quot;, # Input only. The time-to-live duration after which the custom status expires.
+  },
+  &quot;doNotDisturbMetadata&quot;: { # Metadata associated with the `DO_NOT_DISTURB` availability state, specifying when the state is set to expire. # Output only. Metadata if the user state is set to DO_NOT_DISTURB.
+    &quot;expirationTime&quot;: &quot;A String&quot;, # Output only. Timestamp until which the user should be marked as DO_NOT_DISTURB. This can be maximum of 1 year in the future.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. Resource name of the user&#x27;s availability. Format: `users/{user}/availability` `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user&#x27;s email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The user&#x27;s current availability state.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="updateAvailability">updateAvailability(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates availability information for a human user. Only the `custom_status` field can be updated through this method. This method only updates the authenticated user&#x27;s availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`
+
+Args:
+  name: string, Identifier. Resource name of the user&#x27;s availability. Format: `users/{user}/availability` `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user&#x27;s email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Represents a user&#x27;s current availability information in Google Chat, including their state (for example, Active, Away, Do Not Disturb) and any custom status.
+  &quot;customStatus&quot;: { # Represents a user&#x27;s custom status in Google Chat. This includes a short text message with an optional emoji that a user sets to give more context about their availability. # Optional. The user&#x27;s custom status.
+    &quot;emoji&quot;: { # An emoji that is used as a reaction to a message. # Required. The emoji of the custom status. Only Unicode emojis are supported; custom emojis are not supported.
+      &quot;customEmoji&quot;: { # Represents a [custom emoji](https://support.google.com/chat/answer/12800149). # A custom emoji.
+        &quot;emojiName&quot;: &quot;A String&quot;, # Optional. Immutable. User-provided name for the custom emoji, which is unique within the organization. Required when the custom emoji is created, output only otherwise. Emoji names must start and end with colons, must be lowercase and can only contain alphanumeric characters, hyphens, and underscores. Hyphens and underscores should be used to separate words and cannot be used consecutively. Example: `:valid-emoji-name:`
+        &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the custom emoji, assigned by the server. Format: `customEmojis/{customEmoji}`
+        &quot;payload&quot;: { # Payload data for the custom emoji. # Optional. Input only. Payload data. Required when the custom emoji is created.
+          &quot;fileContent&quot;: &quot;A String&quot;, # Required. Input only. The image used for the custom emoji. The payload must be under 256 KB and the dimension of the image must be square and between 64 and 500 pixels. The restrictions are subject to change.
+          &quot;filename&quot;: &quot;A String&quot;, # Required. Input only. The image file name. Supported file extensions: `.png`, `.jpg`, `.gif`.
+        },
+        &quot;temporaryImageUri&quot;: &quot;A String&quot;, # Output only. A temporary image URL for the custom emoji, valid for at least 10 minutes. Note that this is not populated in the response when the custom emoji is created.
+        &quot;uid&quot;: &quot;A String&quot;, # Output only. Unique key for the custom emoji resource.
+      },
+      &quot;unicode&quot;: &quot;A String&quot;, # Optional. A basic emoji represented by a unicode string.
+    },
+    &quot;expireTime&quot;: &quot;A String&quot;, # The timestamp when the custom status expires.
+    &quot;text&quot;: &quot;A String&quot;, # Required. The text of the custom status. This will be a string with maximum length of 64.
+    &quot;ttl&quot;: &quot;A String&quot;, # Input only. The time-to-live duration after which the custom status expires.
+  },
+  &quot;doNotDisturbMetadata&quot;: { # Metadata associated with the `DO_NOT_DISTURB` availability state, specifying when the state is set to expire. # Output only. Metadata if the user state is set to DO_NOT_DISTURB.
+    &quot;expirationTime&quot;: &quot;A String&quot;, # Output only. Timestamp until which the user should be marked as DO_NOT_DISTURB. This can be maximum of 1 year in the future.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. Resource name of the user&#x27;s availability. Format: `users/{user}/availability` `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user&#x27;s email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The user&#x27;s current availability state.
+}
+
+  updateMask: string, Required. The list of fields to update. The only field that can be updated is `custom_status`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Represents a user&#x27;s current availability information in Google Chat, including their state (for example, Active, Away, Do Not Disturb) and any custom status.
+  &quot;customStatus&quot;: { # Represents a user&#x27;s custom status in Google Chat. This includes a short text message with an optional emoji that a user sets to give more context about their availability. # Optional. The user&#x27;s custom status.
+    &quot;emoji&quot;: { # An emoji that is used as a reaction to a message. # Required. The emoji of the custom status. Only Unicode emojis are supported; custom emojis are not supported.
+      &quot;customEmoji&quot;: { # Represents a [custom emoji](https://support.google.com/chat/answer/12800149). # A custom emoji.
+        &quot;emojiName&quot;: &quot;A String&quot;, # Optional. Immutable. User-provided name for the custom emoji, which is unique within the organization. Required when the custom emoji is created, output only otherwise. Emoji names must start and end with colons, must be lowercase and can only contain alphanumeric characters, hyphens, and underscores. Hyphens and underscores should be used to separate words and cannot be used consecutively. Example: `:valid-emoji-name:`
+        &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the custom emoji, assigned by the server. Format: `customEmojis/{customEmoji}`
+        &quot;payload&quot;: { # Payload data for the custom emoji. # Optional. Input only. Payload data. Required when the custom emoji is created.
+          &quot;fileContent&quot;: &quot;A String&quot;, # Required. Input only. The image used for the custom emoji. The payload must be under 256 KB and the dimension of the image must be square and between 64 and 500 pixels. The restrictions are subject to change.
+          &quot;filename&quot;: &quot;A String&quot;, # Required. Input only. The image file name. Supported file extensions: `.png`, `.jpg`, `.gif`.
+        },
+        &quot;temporaryImageUri&quot;: &quot;A String&quot;, # Output only. A temporary image URL for the custom emoji, valid for at least 10 minutes. Note that this is not populated in the response when the custom emoji is created.
+        &quot;uid&quot;: &quot;A String&quot;, # Output only. Unique key for the custom emoji resource.
+      },
+      &quot;unicode&quot;: &quot;A String&quot;, # Optional. A basic emoji represented by a unicode string.
+    },
+    &quot;expireTime&quot;: &quot;A String&quot;, # The timestamp when the custom status expires.
+    &quot;text&quot;: &quot;A String&quot;, # Required. The text of the custom status. This will be a string with maximum length of 64.
+    &quot;ttl&quot;: &quot;A String&quot;, # Input only. The time-to-live duration after which the custom status expires.
+  },
+  &quot;doNotDisturbMetadata&quot;: { # Metadata associated with the `DO_NOT_DISTURB` availability state, specifying when the state is set to expire. # Output only. Metadata if the user state is set to DO_NOT_DISTURB.
+    &quot;expirationTime&quot;: &quot;A String&quot;, # Output only. Timestamp until which the user should be marked as DO_NOT_DISTURB. This can be maximum of 1 year in the future.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. Resource name of the user&#x27;s availability. Format: `users/{user}/availability` `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user&#x27;s email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The user&#x27;s current availability state.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/chat_v1.users.html b/docs/dyn/chat_v1.users.html
index b363a6d..d4d4be8 100644
--- a/docs/dyn/chat_v1.users.html
+++ b/docs/dyn/chat_v1.users.html
@@ -75,6 +75,11 @@
 <h1><a href="chat_v1.html">Google Chat API</a> . <a href="chat_v1.users.html">users</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="chat_v1.users.availability.html">availability()</a></code>
+</p>
+<p class="firstline">Returns the availability Resource.</p>
+
+<p class="toc_element">
   <code><a href="chat_v1.users.sections.html">sections()</a></code>
 </p>
 <p class="firstline">Returns the sections Resource.</p>
diff --git a/docs/dyn/cloudasset_v1.assets.html b/docs/dyn/cloudasset_v1.assets.html
index 2465450..e55ffb4 100644
--- a/docs/dyn/cloudasset_v1.assets.html
+++ b/docs/dyn/cloudasset_v1.assets.html
@@ -476,6 +476,9 @@
                 &quot;sources&quot;: [ # Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.
                   { # The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.
                     &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.
+                    &quot;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed from access perimeter data.
+                      &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                    },
                     &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can&#x27;t use `*` in this field to allow all Google Cloud resources.
                   },
                 ],
@@ -515,6 +518,9 @@
                 &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;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed to access perimeter data.
+                      &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                    },
                     &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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.
                   },
                 ],
@@ -548,10 +554,27 @@
             &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;allowedServicePatterns&quot;: [ # Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.
+              { # Service patterns used to allow access.
+                &quot;modifiers&quot;: [ # Modifiers to apply to the requests that match the URL pattern.
+                  { # Modifier to apply to the API requests.
+                    &quot;addRequestHeader&quot;: { # Adds a request header to the API. # Adds additional HTTP request headers.
+                      &quot;key&quot;: &quot;A String&quot;, # HTTP header key.
+                      &quot;value&quot;: &quot;A String&quot;, # HTTP header value.
+                    },
+                  },
+                ],
+                &quot;pattern&quot;: &quot;A String&quot;, # URL pattern to allow. Only patterns of &quot;.googleapis.com/*&quot;, &quot;www.googleapis.com//*&quot; and &quot;*.appspot.com/* forms are supported, where should be alphanumerical name.
+                &quot;service&quot;: &quot;A String&quot;, # Supported service to allow.
+              },
+            ],
             &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;servicePatternsEnforcementScopes&quot;: [ # Defines the enforcement scopes of service patterns.
+              &quot;A String&quot;,
+            ],
           },
         },
         &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.
@@ -569,6 +592,9 @@
                 &quot;sources&quot;: [ # Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.
                   { # The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.
                     &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.
+                    &quot;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed from access perimeter data.
+                      &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                    },
                     &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can&#x27;t use `*` in this field to allow all Google Cloud resources.
                   },
                 ],
@@ -608,6 +634,9 @@
                 &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;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed to access perimeter data.
+                      &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                    },
                     &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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.
                   },
                 ],
@@ -641,10 +670,27 @@
             &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;allowedServicePatterns&quot;: [ # Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.
+              { # Service patterns used to allow access.
+                &quot;modifiers&quot;: [ # Modifiers to apply to the requests that match the URL pattern.
+                  { # Modifier to apply to the API requests.
+                    &quot;addRequestHeader&quot;: { # Adds a request header to the API. # Adds additional HTTP request headers.
+                      &quot;key&quot;: &quot;A String&quot;, # HTTP header key.
+                      &quot;value&quot;: &quot;A String&quot;, # HTTP header value.
+                    },
+                  },
+                ],
+                &quot;pattern&quot;: &quot;A String&quot;, # URL pattern to allow. Only patterns of &quot;.googleapis.com/*&quot;, &quot;www.googleapis.com//*&quot; and &quot;*.appspot.com/* forms are supported, where should be alphanumerical name.
+                &quot;service&quot;: &quot;A String&quot;, # Supported service to allow.
+              },
+            ],
             &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;servicePatternsEnforcementScopes&quot;: [ # Defines the enforcement scopes of service patterns.
+              &quot;A String&quot;,
+            ],
           },
         },
         &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
diff --git a/docs/dyn/cloudasset_v1.v1.html b/docs/dyn/cloudasset_v1.v1.html
index a33e39e..4c22d01 100644
--- a/docs/dyn/cloudasset_v1.v1.html
+++ b/docs/dyn/cloudasset_v1.v1.html
@@ -1364,6 +1364,9 @@
                   &quot;sources&quot;: [ # Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.
                     { # The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.
                       &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.
+                      &quot;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed from access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can&#x27;t use `*` in this field to allow all Google Cloud resources.
                     },
                   ],
@@ -1403,6 +1406,9 @@
                   &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;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed to access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.
                     },
                   ],
@@ -1436,10 +1442,27 @@
               &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;allowedServicePatterns&quot;: [ # Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.
+                { # Service patterns used to allow access.
+                  &quot;modifiers&quot;: [ # Modifiers to apply to the requests that match the URL pattern.
+                    { # Modifier to apply to the API requests.
+                      &quot;addRequestHeader&quot;: { # Adds a request header to the API. # Adds additional HTTP request headers.
+                        &quot;key&quot;: &quot;A String&quot;, # HTTP header key.
+                        &quot;value&quot;: &quot;A String&quot;, # HTTP header value.
+                      },
+                    },
+                  ],
+                  &quot;pattern&quot;: &quot;A String&quot;, # URL pattern to allow. Only patterns of &quot;.googleapis.com/*&quot;, &quot;www.googleapis.com//*&quot; and &quot;*.appspot.com/* forms are supported, where should be alphanumerical name.
+                  &quot;service&quot;: &quot;A String&quot;, # Supported service to allow.
+                },
+              ],
               &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;servicePatternsEnforcementScopes&quot;: [ # Defines the enforcement scopes of service patterns.
+                &quot;A String&quot;,
+              ],
             },
           },
           &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.
@@ -1457,6 +1480,9 @@
                   &quot;sources&quot;: [ # Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.
                     { # The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.
                       &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.
+                      &quot;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed from access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can&#x27;t use `*` in this field to allow all Google Cloud resources.
                     },
                   ],
@@ -1496,6 +1522,9 @@
                   &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;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed to access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.
                     },
                   ],
@@ -1529,10 +1558,27 @@
               &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;allowedServicePatterns&quot;: [ # Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.
+                { # Service patterns used to allow access.
+                  &quot;modifiers&quot;: [ # Modifiers to apply to the requests that match the URL pattern.
+                    { # Modifier to apply to the API requests.
+                      &quot;addRequestHeader&quot;: { # Adds a request header to the API. # Adds additional HTTP request headers.
+                        &quot;key&quot;: &quot;A String&quot;, # HTTP header key.
+                        &quot;value&quot;: &quot;A String&quot;, # HTTP header value.
+                      },
+                    },
+                  ],
+                  &quot;pattern&quot;: &quot;A String&quot;, # URL pattern to allow. Only patterns of &quot;.googleapis.com/*&quot;, &quot;www.googleapis.com//*&quot; and &quot;*.appspot.com/* forms are supported, where should be alphanumerical name.
+                  &quot;service&quot;: &quot;A String&quot;, # Supported service to allow.
+                },
+              ],
               &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;servicePatternsEnforcementScopes&quot;: [ # Defines the enforcement scopes of service patterns.
+                &quot;A String&quot;,
+              ],
             },
           },
           &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
@@ -1898,6 +1944,9 @@
                   &quot;sources&quot;: [ # Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.
                     { # The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.
                       &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.
+                      &quot;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed from access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can&#x27;t use `*` in this field to allow all Google Cloud resources.
                     },
                   ],
@@ -1937,6 +1986,9 @@
                   &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;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed to access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.
                     },
                   ],
@@ -1970,10 +2022,27 @@
               &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;allowedServicePatterns&quot;: [ # Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.
+                { # Service patterns used to allow access.
+                  &quot;modifiers&quot;: [ # Modifiers to apply to the requests that match the URL pattern.
+                    { # Modifier to apply to the API requests.
+                      &quot;addRequestHeader&quot;: { # Adds a request header to the API. # Adds additional HTTP request headers.
+                        &quot;key&quot;: &quot;A String&quot;, # HTTP header key.
+                        &quot;value&quot;: &quot;A String&quot;, # HTTP header value.
+                      },
+                    },
+                  ],
+                  &quot;pattern&quot;: &quot;A String&quot;, # URL pattern to allow. Only patterns of &quot;.googleapis.com/*&quot;, &quot;www.googleapis.com//*&quot; and &quot;*.appspot.com/* forms are supported, where should be alphanumerical name.
+                  &quot;service&quot;: &quot;A String&quot;, # Supported service to allow.
+                },
+              ],
               &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;servicePatternsEnforcementScopes&quot;: [ # Defines the enforcement scopes of service patterns.
+                &quot;A String&quot;,
+              ],
             },
           },
           &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.
@@ -1991,6 +2060,9 @@
                   &quot;sources&quot;: [ # Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.
                     { # The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.
                       &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.
+                      &quot;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed from access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can&#x27;t use `*` in this field to allow all Google Cloud resources.
                     },
                   ],
@@ -2030,6 +2102,9 @@
                   &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;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed to access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.
                     },
                   ],
@@ -2063,10 +2138,27 @@
               &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;allowedServicePatterns&quot;: [ # Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.
+                { # Service patterns used to allow access.
+                  &quot;modifiers&quot;: [ # Modifiers to apply to the requests that match the URL pattern.
+                    { # Modifier to apply to the API requests.
+                      &quot;addRequestHeader&quot;: { # Adds a request header to the API. # Adds additional HTTP request headers.
+                        &quot;key&quot;: &quot;A String&quot;, # HTTP header key.
+                        &quot;value&quot;: &quot;A String&quot;, # HTTP header value.
+                      },
+                    },
+                  ],
+                  &quot;pattern&quot;: &quot;A String&quot;, # URL pattern to allow. Only patterns of &quot;.googleapis.com/*&quot;, &quot;www.googleapis.com//*&quot; and &quot;*.appspot.com/* forms are supported, where should be alphanumerical name.
+                  &quot;service&quot;: &quot;A String&quot;, # Supported service to allow.
+                },
+              ],
               &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;servicePatternsEnforcementScopes&quot;: [ # Defines the enforcement scopes of service patterns.
+                &quot;A String&quot;,
+              ],
             },
           },
           &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
diff --git a/docs/dyn/cloudasset_v1beta1.organizations.html b/docs/dyn/cloudasset_v1beta1.organizations.html
index 2796add..078a2b3 100644
--- a/docs/dyn/cloudasset_v1beta1.organizations.html
+++ b/docs/dyn/cloudasset_v1beta1.organizations.html
@@ -272,6 +272,9 @@
                   &quot;sources&quot;: [ # Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.
                     { # The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.
                       &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.
+                      &quot;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed from access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can&#x27;t use `*` in this field to allow all Google Cloud resources.
                     },
                   ],
@@ -311,6 +314,9 @@
                   &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;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed to access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.
                     },
                   ],
@@ -344,10 +350,27 @@
               &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;allowedServicePatterns&quot;: [ # Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.
+                { # Service patterns used to allow access.
+                  &quot;modifiers&quot;: [ # Modifiers to apply to the requests that match the URL pattern.
+                    { # Modifier to apply to the API requests.
+                      &quot;addRequestHeader&quot;: { # Adds a request header to the API. # Adds additional HTTP request headers.
+                        &quot;key&quot;: &quot;A String&quot;, # HTTP header key.
+                        &quot;value&quot;: &quot;A String&quot;, # HTTP header value.
+                      },
+                    },
+                  ],
+                  &quot;pattern&quot;: &quot;A String&quot;, # URL pattern to allow. Only patterns of &quot;.googleapis.com/*&quot;, &quot;www.googleapis.com//*&quot; and &quot;*.appspot.com/* forms are supported, where should be alphanumerical name.
+                  &quot;service&quot;: &quot;A String&quot;, # Supported service to allow.
+                },
+              ],
               &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;servicePatternsEnforcementScopes&quot;: [ # Defines the enforcement scopes of service patterns.
+                &quot;A String&quot;,
+              ],
             },
           },
           &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.
@@ -365,6 +388,9 @@
                   &quot;sources&quot;: [ # Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.
                     { # The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.
                       &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.
+                      &quot;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed from access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can&#x27;t use `*` in this field to allow all Google Cloud resources.
                     },
                   ],
@@ -404,6 +430,9 @@
                   &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;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed to access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.
                     },
                   ],
@@ -437,10 +466,27 @@
               &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;allowedServicePatterns&quot;: [ # Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.
+                { # Service patterns used to allow access.
+                  &quot;modifiers&quot;: [ # Modifiers to apply to the requests that match the URL pattern.
+                    { # Modifier to apply to the API requests.
+                      &quot;addRequestHeader&quot;: { # Adds a request header to the API. # Adds additional HTTP request headers.
+                        &quot;key&quot;: &quot;A String&quot;, # HTTP header key.
+                        &quot;value&quot;: &quot;A String&quot;, # HTTP header value.
+                      },
+                    },
+                  ],
+                  &quot;pattern&quot;: &quot;A String&quot;, # URL pattern to allow. Only patterns of &quot;.googleapis.com/*&quot;, &quot;www.googleapis.com//*&quot; and &quot;*.appspot.com/* forms are supported, where should be alphanumerical name.
+                  &quot;service&quot;: &quot;A String&quot;, # Supported service to allow.
+                },
+              ],
               &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;servicePatternsEnforcementScopes&quot;: [ # Defines the enforcement scopes of service patterns.
+                &quot;A String&quot;,
+              ],
             },
           },
           &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
diff --git a/docs/dyn/cloudasset_v1beta1.projects.html b/docs/dyn/cloudasset_v1beta1.projects.html
index 42b5223..f5634b9 100644
--- a/docs/dyn/cloudasset_v1beta1.projects.html
+++ b/docs/dyn/cloudasset_v1beta1.projects.html
@@ -272,6 +272,9 @@
                   &quot;sources&quot;: [ # Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.
                     { # The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.
                       &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.
+                      &quot;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed from access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can&#x27;t use `*` in this field to allow all Google Cloud resources.
                     },
                   ],
@@ -311,6 +314,9 @@
                   &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;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed to access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.
                     },
                   ],
@@ -344,10 +350,27 @@
               &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;allowedServicePatterns&quot;: [ # Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.
+                { # Service patterns used to allow access.
+                  &quot;modifiers&quot;: [ # Modifiers to apply to the requests that match the URL pattern.
+                    { # Modifier to apply to the API requests.
+                      &quot;addRequestHeader&quot;: { # Adds a request header to the API. # Adds additional HTTP request headers.
+                        &quot;key&quot;: &quot;A String&quot;, # HTTP header key.
+                        &quot;value&quot;: &quot;A String&quot;, # HTTP header value.
+                      },
+                    },
+                  ],
+                  &quot;pattern&quot;: &quot;A String&quot;, # URL pattern to allow. Only patterns of &quot;.googleapis.com/*&quot;, &quot;www.googleapis.com//*&quot; and &quot;*.appspot.com/* forms are supported, where should be alphanumerical name.
+                  &quot;service&quot;: &quot;A String&quot;, # Supported service to allow.
+                },
+              ],
               &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;servicePatternsEnforcementScopes&quot;: [ # Defines the enforcement scopes of service patterns.
+                &quot;A String&quot;,
+              ],
             },
           },
           &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.
@@ -365,6 +388,9 @@
                   &quot;sources&quot;: [ # Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.
                     { # The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.
                       &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.
+                      &quot;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed from access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can&#x27;t use `*` in this field to allow all Google Cloud resources.
                     },
                   ],
@@ -404,6 +430,9 @@
                   &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;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed to access perimeter data.
+                        &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                      },
                       &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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.
                     },
                   ],
@@ -437,10 +466,27 @@
               &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;allowedServicePatterns&quot;: [ # Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.
+                { # Service patterns used to allow access.
+                  &quot;modifiers&quot;: [ # Modifiers to apply to the requests that match the URL pattern.
+                    { # Modifier to apply to the API requests.
+                      &quot;addRequestHeader&quot;: { # Adds a request header to the API. # Adds additional HTTP request headers.
+                        &quot;key&quot;: &quot;A String&quot;, # HTTP header key.
+                        &quot;value&quot;: &quot;A String&quot;, # HTTP header value.
+                      },
+                    },
+                  ],
+                  &quot;pattern&quot;: &quot;A String&quot;, # URL pattern to allow. Only patterns of &quot;.googleapis.com/*&quot;, &quot;www.googleapis.com//*&quot; and &quot;*.appspot.com/* forms are supported, where should be alphanumerical name.
+                  &quot;service&quot;: &quot;A String&quot;, # Supported service to allow.
+                },
+              ],
               &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;servicePatternsEnforcementScopes&quot;: [ # Defines the enforcement scopes of service patterns.
+                &quot;A String&quot;,
+              ],
             },
           },
           &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
diff --git a/docs/dyn/cloudasset_v1p5beta1.assets.html b/docs/dyn/cloudasset_v1p5beta1.assets.html
index a6eaed1..6cc26ce 100644
--- a/docs/dyn/cloudasset_v1p5beta1.assets.html
+++ b/docs/dyn/cloudasset_v1p5beta1.assets.html
@@ -277,6 +277,9 @@
                 &quot;sources&quot;: [ # Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.
                   { # The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.
                     &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.
+                    &quot;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed from access perimeter data.
+                      &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                    },
                     &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can&#x27;t use `*` in this field to allow all Google Cloud resources.
                   },
                 ],
@@ -316,6 +319,9 @@
                 &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;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed to access perimeter data.
+                      &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                    },
                     &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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.
                   },
                 ],
@@ -349,10 +355,27 @@
             &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;allowedServicePatterns&quot;: [ # Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.
+              { # Service patterns used to allow access.
+                &quot;modifiers&quot;: [ # Modifiers to apply to the requests that match the URL pattern.
+                  { # Modifier to apply to the API requests.
+                    &quot;addRequestHeader&quot;: { # Adds a request header to the API. # Adds additional HTTP request headers.
+                      &quot;key&quot;: &quot;A String&quot;, # HTTP header key.
+                      &quot;value&quot;: &quot;A String&quot;, # HTTP header value.
+                    },
+                  },
+                ],
+                &quot;pattern&quot;: &quot;A String&quot;, # URL pattern to allow. Only patterns of &quot;.googleapis.com/*&quot;, &quot;www.googleapis.com//*&quot; and &quot;*.appspot.com/* forms are supported, where should be alphanumerical name.
+                &quot;service&quot;: &quot;A String&quot;, # Supported service to allow.
+              },
+            ],
             &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;servicePatternsEnforcementScopes&quot;: [ # Defines the enforcement scopes of service patterns.
+              &quot;A String&quot;,
+            ],
           },
         },
         &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.
@@ -370,6 +393,9 @@
                 &quot;sources&quot;: [ # Sources that this EgressPolicy authorizes access from. If this field is not empty, then `source_restriction` must be set to `SOURCE_RESTRICTION_ENABLED`.
                   { # The source that EgressPolicy authorizes access from inside the ServicePerimeter to somewhere outside the ServicePerimeter boundaries.
                     &quot;accessLevel&quot;: &quot;A String&quot;, # An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.
+                    &quot;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed from access perimeter data.
+                      &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                    },
                     &quot;resource&quot;: &quot;A String&quot;, # A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can&#x27;t use `*` in this field to allow all Google Cloud resources.
                   },
                 ],
@@ -409,6 +435,9 @@
                 &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;pscEndpoint&quot;: { # Specifies the PSC an API call refers to. # Requests from this PSC will be allowed to access perimeter data.
+                      &quot;forwardingRule&quot;: &quot;A String&quot;, # The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.
+                    },
                     &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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.
                   },
                 ],
@@ -442,10 +471,27 @@
             &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;allowedServicePatterns&quot;: [ # Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.
+              { # Service patterns used to allow access.
+                &quot;modifiers&quot;: [ # Modifiers to apply to the requests that match the URL pattern.
+                  { # Modifier to apply to the API requests.
+                    &quot;addRequestHeader&quot;: { # Adds a request header to the API. # Adds additional HTTP request headers.
+                      &quot;key&quot;: &quot;A String&quot;, # HTTP header key.
+                      &quot;value&quot;: &quot;A String&quot;, # HTTP header value.
+                    },
+                  },
+                ],
+                &quot;pattern&quot;: &quot;A String&quot;, # URL pattern to allow. Only patterns of &quot;.googleapis.com/*&quot;, &quot;www.googleapis.com//*&quot; and &quot;*.appspot.com/* forms are supported, where should be alphanumerical name.
+                &quot;service&quot;: &quot;A String&quot;, # Supported service to allow.
+              },
+            ],
             &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;servicePatternsEnforcementScopes&quot;: [ # Defines the enforcement scopes of service patterns.
+              &quot;A String&quot;,
+            ],
           },
         },
         &quot;title&quot;: &quot;A String&quot;, # Human readable title. Must be unique within the Policy.
diff --git a/docs/dyn/cloudsupport_v2.html b/docs/dyn/cloudsupport_v2.html
index ec5dff0..c7df592 100644
--- a/docs/dyn/cloudsupport_v2.html
+++ b/docs/dyn/cloudsupport_v2.html
@@ -90,6 +90,11 @@
 <p class="firstline">Returns the media Resource.</p>
 
 <p class="toc_element">
+  <code><a href="cloudsupport_v2.supportEventSubscriptions.html">supportEventSubscriptions()</a></code>
+</p>
+<p class="firstline">Returns the supportEventSubscriptions 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/cloudsupport_v2.supportEventSubscriptions.html b/docs/dyn/cloudsupport_v2.supportEventSubscriptions.html
new file mode 100644
index 0000000..8f8758e
--- /dev/null
+++ b/docs/dyn/cloudsupport_v2.supportEventSubscriptions.html
@@ -0,0 +1,321 @@
+<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="cloudsupport_v2.html">Google Cloud Support API</a> . <a href="cloudsupport_v2.supportEventSubscriptions.html">supportEventSubscriptions</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 support event subscription for an organization.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Soft deletes a support event subscription.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets a support event subscription.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, showDeleted=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists support event subscriptions.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</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 support event subscription.</p>
+<p class="toc_element">
+  <code><a href="#undelete">undelete(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Undeletes a support event subscription.</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 support event subscription for an organization.
+
+Args:
+  parent: string, Required. The parent resource name where the support event subscription will be created. Format: organizations/{organization_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A support event subscription.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+  &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+  &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+  &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A support event subscription.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+  &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+  &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+  &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Soft deletes a support event subscription.
+
+Args:
+  name: string, Required. The name of the support event subscription to delete. Format: organizations/{organization_id}/supportEventSubscriptions/{subscription_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A support event subscription.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+  &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+  &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+  &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets a support event subscription.
+
+Args:
+  name: string, Required. The name of the support event subscription to retrieve. Format: organizations/{organization_id}/supportEventSubscriptions/{subscription_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A support event subscription.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+  &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+  &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+  &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, showDeleted=None, x__xgafv=None)</code>
+  <pre>Lists support event subscriptions.
+
+Args:
+  parent: string, Required. The fully qualified name of the Cloud resource to list support event subscriptions under. Format: organizations/{organization_id} (required)
+  filter: string, Optional. Filter expression based on AIP-160. Supported fields: - pub_sub_topic - state Examples: - `pub_sub_topic=&quot;projects/example-project/topics/example-topic&quot;` - `state=WORKING` - `pub_sub_topic=&quot;projects/example-project/topics/example-topic&quot; AND state=WORKING`
+  pageSize: integer, Optional. The maximum number of support event subscriptions to return.
+  pageToken: string, Optional. A token identifying the page of results to return. If unspecified, the first page is retrieved. When paginating, all other parameters provided to `ListSupportEventSubscriptions` must match the call that provided the page token.
+  showDeleted: boolean, Optional. Whether to show deleted subscriptions. By default, deleted subscriptions are not returned.
+  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 ListSupportEventSubscriptions.
+  &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.
+  &quot;supportEventSubscriptions&quot;: [ # The support event subscriptions.
+    { # A support event subscription.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+      &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+      &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+      &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+      &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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 support event subscription.
+
+Args:
+  name: string, Identifier. The resource name of the support event subscription. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A support event subscription.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+  &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+  &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+  &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+}
+
+  updateMask: string, Optional. The list of fields to update. The only supported value is pub_sub_topic.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A support event subscription.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+  &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+  &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+  &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="undelete">undelete(name, body=None, x__xgafv=None)</code>
+  <pre>Undeletes a support event subscription.
+
+Args:
+  name: string, Required. The name of the support event subscription to undelete. Format: organizations/{organization_id}/supportEventSubscriptions/{subscription_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for UndeleteSupportEventSubscription.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A support event subscription.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+  &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+  &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+  &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/cloudsupport_v2beta.html b/docs/dyn/cloudsupport_v2beta.html
index bd9e5bb..b3428f0 100644
--- a/docs/dyn/cloudsupport_v2beta.html
+++ b/docs/dyn/cloudsupport_v2beta.html
@@ -90,6 +90,11 @@
 <p class="firstline">Returns the media Resource.</p>
 
 <p class="toc_element">
+  <code><a href="cloudsupport_v2beta.supportEventSubscriptions.html">supportEventSubscriptions()</a></code>
+</p>
+<p class="firstline">Returns the supportEventSubscriptions 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/cloudsupport_v2beta.supportEventSubscriptions.html b/docs/dyn/cloudsupport_v2beta.supportEventSubscriptions.html
new file mode 100644
index 0000000..1d9d2c9
--- /dev/null
+++ b/docs/dyn/cloudsupport_v2beta.supportEventSubscriptions.html
@@ -0,0 +1,321 @@
+<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="cloudsupport_v2beta.html">Google Cloud Support API</a> . <a href="cloudsupport_v2beta.supportEventSubscriptions.html">supportEventSubscriptions</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 support event subscription for an organization.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Soft deletes a support event subscription.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets a support event subscription.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, pageSize=None, pageToken=None, showDeleted=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists support event subscriptions.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</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 support event subscription.</p>
+<p class="toc_element">
+  <code><a href="#undelete">undelete(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Undeletes a support event subscription.</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 support event subscription for an organization.
+
+Args:
+  parent: string, Required. The parent resource name where the support event subscription will be created. Format: organizations/{organization_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A support event subscription.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+  &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+  &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+  &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A support event subscription.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+  &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+  &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+  &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Soft deletes a support event subscription.
+
+Args:
+  name: string, Required. The name of the support event subscription to delete. Format: organizations/{organization_id}/supportEventSubscriptions/{subscription_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A support event subscription.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+  &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+  &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+  &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets a support event subscription.
+
+Args:
+  name: string, Required. The name of the support event subscription to retrieve. Format: organizations/{organization_id}/supportEventSubscriptions/{subscription_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A support event subscription.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+  &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+  &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+  &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, showDeleted=None, x__xgafv=None)</code>
+  <pre>Lists support event subscriptions.
+
+Args:
+  parent: string, Required. The fully qualified name of the Cloud resource to list support event subscriptions under. Format: organizations/{organization_id} (required)
+  filter: string, Optional. Filter expression based on AIP-160. Supported fields: - pub_sub_topic - state Examples: - `pub_sub_topic=&quot;projects/example-project/topics/example-topic&quot;` - `state=WORKING` - `pub_sub_topic=&quot;projects/example-project/topics/example-topic&quot; AND state=WORKING`
+  pageSize: integer, Optional. The maximum number of support event subscriptions to return.
+  pageToken: string, Optional. A token identifying the page of results to return. If unspecified, the first page is retrieved. When paginating, all other parameters provided to `ListSupportEventSubscriptions` must match the call that provided the page token.
+  showDeleted: boolean, Optional. Whether to show deleted subscriptions. By default, deleted subscriptions are not returned.
+  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 ListSupportEventSubscriptions.
+  &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.
+  &quot;supportEventSubscriptions&quot;: [ # The support event subscriptions.
+    { # A support event subscription.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+      &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+      &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+      &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+      &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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 support event subscription.
+
+Args:
+  name: string, Identifier. The resource name of the support event subscription. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A support event subscription.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+  &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+  &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+  &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+}
+
+  updateMask: string, Optional. The list of fields to update. The only supported value is pub_sub_topic.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A support event subscription.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+  &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+  &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+  &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="undelete">undelete(name, body=None, x__xgafv=None)</code>
+  <pre>Undeletes a support event subscription.
+
+Args:
+  name: string, Required. The name of the support event subscription to undelete. Format: organizations/{organization_id}/supportEventSubscriptions/{subscription_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for UndeleteSupportEventSubscription.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A support event subscription.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was created.
+  &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was deleted.
+  &quot;failureReason&quot;: &quot;A String&quot;, # Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the support event subscription.
+  &quot;pubSubTopic&quot;: &quot;A String&quot;, # Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}
+  &quot;purgeTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription will be purged.
+  &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the subscription.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the subscription was last updated.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/compute_alpha.reservationBlocks.html b/docs/dyn/compute_alpha.reservationBlocks.html
index e5e90f4..11c34d6 100644
--- a/docs/dyn/compute_alpha.reservationBlocks.html
+++ b/docs/dyn/compute_alpha.reservationBlocks.html
@@ -121,14 +121,14 @@
 
     {
   &quot;resource&quot;: { # Represents a reservation block resource.
-    &quot;blockHealthInfo&quot;: { # Health information for the reservation block. # Output only. [Output Only] Health information for the reservation block.
+    &quot;count&quot;: 42, # Output only. [Output Only] The number of resources that are allocated in this
+        # reservation block.
+    &quot;creationTimestamp&quot;: &quot;A String&quot;, # Output only. [Output Only] Creation timestamp inRFC3339 text format.
+    &quot;healthInfo&quot;: { # Health information for the reservation block. # Output only. [Output Only] Health information for the reservation block.
       &quot;degradedSubBlockCount&quot;: 42, # The number of subBlocks that are degraded.
       &quot;healthStatus&quot;: &quot;A String&quot;, # The health status of the reservation block.
       &quot;healthySubBlockCount&quot;: 42, # The number of subBlocks that are healthy.
     },
-    &quot;count&quot;: 42, # Output only. [Output Only] The number of resources that are allocated in this
-        # reservation block.
-    &quot;creationTimestamp&quot;: &quot;A String&quot;, # Output only. [Output Only] Creation timestamp inRFC3339 text format.
     &quot;id&quot;: &quot;A String&quot;, # Output only. [Output Only] The unique identifier for the resource. This identifier is
         # defined by the server.
     &quot;inUseCount&quot;: 42, # Output only. [Output Only] The number of instances that are currently in use on this
@@ -322,14 +322,14 @@
   &quot;id&quot;: &quot;A String&quot;, # Unique identifier for the resource; defined by the server.
   &quot;items&quot;: [ # A list of reservation block resources.
     { # Represents a reservation block resource.
-      &quot;blockHealthInfo&quot;: { # Health information for the reservation block. # Output only. [Output Only] Health information for the reservation block.
+      &quot;count&quot;: 42, # Output only. [Output Only] The number of resources that are allocated in this
+          # reservation block.
+      &quot;creationTimestamp&quot;: &quot;A String&quot;, # Output only. [Output Only] Creation timestamp inRFC3339 text format.
+      &quot;healthInfo&quot;: { # Health information for the reservation block. # Output only. [Output Only] Health information for the reservation block.
         &quot;degradedSubBlockCount&quot;: 42, # The number of subBlocks that are degraded.
         &quot;healthStatus&quot;: &quot;A String&quot;, # The health status of the reservation block.
         &quot;healthySubBlockCount&quot;: 42, # The number of subBlocks that are healthy.
       },
-      &quot;count&quot;: 42, # Output only. [Output Only] The number of resources that are allocated in this
-          # reservation block.
-      &quot;creationTimestamp&quot;: &quot;A String&quot;, # Output only. [Output Only] Creation timestamp inRFC3339 text format.
       &quot;id&quot;: &quot;A String&quot;, # Output only. [Output Only] The unique identifier for the resource. This identifier is
           # defined by the server.
       &quot;inUseCount&quot;: 42, # Output only. [Output Only] The number of instances that are currently in use on this
diff --git a/docs/dyn/compute_alpha.reservationSubBlocks.html b/docs/dyn/compute_alpha.reservationSubBlocks.html
index 740869f..f840ba7 100644
--- a/docs/dyn/compute_alpha.reservationSubBlocks.html
+++ b/docs/dyn/compute_alpha.reservationSubBlocks.html
@@ -146,6 +146,15 @@
     &quot;count&quot;: 42, # Output only. [Output Only] The number of hosts that are allocated in this
         # reservation subBlock.
     &quot;creationTimestamp&quot;: &quot;A String&quot;, # Output only. [Output Only] Creation timestamp inRFC3339 text format.
+    &quot;healthInfo&quot;: { # Health information for the reservation subBlock. # Output only. [Output Only] Health information for the reservation subBlock.
+      &quot;degradedHostCount&quot;: 42, # The number of degraded hosts in the reservation subBlock.
+      &quot;degradedInfraCount&quot;: 42, # The number of degraded infrastructure (e.g NV link domain) in the
+          # reservation subblock.
+      &quot;healthStatus&quot;: &quot;A String&quot;, # The health status of the reservation subBlock.
+      &quot;healthyHostCount&quot;: 42, # The number of healthy hosts in the reservation subBlock.
+      &quot;healthyInfraCount&quot;: 42, # The number of healthy infrastructure (e.g NV link domain) in the
+          # reservation subblock.
+    },
     &quot;id&quot;: &quot;A String&quot;, # Output only. [Output Only] The unique identifier for the resource. This identifier is
         # defined by the server.
     &quot;inUseCount&quot;: 42, # Output only. [Output Only] The number of instances that are currently in use on this
@@ -215,15 +224,6 @@
     &quot;selfLink&quot;: &quot;A String&quot;, # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
     &quot;selfLinkWithId&quot;: &quot;A String&quot;, # Output only. [Output Only] Server-defined URL for this resource with the resource id.
     &quot;status&quot;: &quot;A String&quot;, # Output only. [Output Only] Status of the reservation subBlock.
-    &quot;subBlockHealthInfo&quot;: { # Health information for the reservation subBlock. # Output only. [Output Only] Health information for the reservation subBlock.
-      &quot;degradedHostCount&quot;: 42, # The number of degraded hosts in the reservation subBlock.
-      &quot;degradedInfraCount&quot;: 42, # The number of degraded infrastructure (e.g NV link domain) in the
-          # reservation subblock.
-      &quot;healthStatus&quot;: &quot;A String&quot;, # The health status of the reservation subBlock.
-      &quot;healthyHostCount&quot;: 42, # The number of healthy hosts in the reservation subBlock.
-      &quot;healthyInfraCount&quot;: 42, # The number of healthy infrastructure (e.g NV link domain) in the
-          # reservation subblock.
-    },
     &quot;zone&quot;: &quot;A String&quot;, # Output only. [Output Only] Zone in which the reservation subBlock resides.
   },
 }</pre>
@@ -655,6 +655,15 @@
       &quot;count&quot;: 42, # Output only. [Output Only] The number of hosts that are allocated in this
           # reservation subBlock.
       &quot;creationTimestamp&quot;: &quot;A String&quot;, # Output only. [Output Only] Creation timestamp inRFC3339 text format.
+      &quot;healthInfo&quot;: { # Health information for the reservation subBlock. # Output only. [Output Only] Health information for the reservation subBlock.
+        &quot;degradedHostCount&quot;: 42, # The number of degraded hosts in the reservation subBlock.
+        &quot;degradedInfraCount&quot;: 42, # The number of degraded infrastructure (e.g NV link domain) in the
+            # reservation subblock.
+        &quot;healthStatus&quot;: &quot;A String&quot;, # The health status of the reservation subBlock.
+        &quot;healthyHostCount&quot;: 42, # The number of healthy hosts in the reservation subBlock.
+        &quot;healthyInfraCount&quot;: 42, # The number of healthy infrastructure (e.g NV link domain) in the
+            # reservation subblock.
+      },
       &quot;id&quot;: &quot;A String&quot;, # Output only. [Output Only] The unique identifier for the resource. This identifier is
           # defined by the server.
       &quot;inUseCount&quot;: 42, # Output only. [Output Only] The number of instances that are currently in use on this
@@ -724,15 +733,6 @@
       &quot;selfLink&quot;: &quot;A String&quot;, # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
       &quot;selfLinkWithId&quot;: &quot;A String&quot;, # Output only. [Output Only] Server-defined URL for this resource with the resource id.
       &quot;status&quot;: &quot;A String&quot;, # Output only. [Output Only] Status of the reservation subBlock.
-      &quot;subBlockHealthInfo&quot;: { # Health information for the reservation subBlock. # Output only. [Output Only] Health information for the reservation subBlock.
-        &quot;degradedHostCount&quot;: 42, # The number of degraded hosts in the reservation subBlock.
-        &quot;degradedInfraCount&quot;: 42, # The number of degraded infrastructure (e.g NV link domain) in the
-            # reservation subblock.
-        &quot;healthStatus&quot;: &quot;A String&quot;, # The health status of the reservation subBlock.
-        &quot;healthyHostCount&quot;: 42, # The number of healthy hosts in the reservation subBlock.
-        &quot;healthyInfraCount&quot;: 42, # The number of healthy infrastructure (e.g NV link domain) in the
-            # reservation subblock.
-      },
       &quot;zone&quot;: &quot;A String&quot;, # Output only. [Output Only] Zone in which the reservation subBlock resides.
     },
   ],
@@ -1424,6 +1424,15 @@
   &quot;count&quot;: 42, # Output only. [Output Only] The number of hosts that are allocated in this
       # reservation subBlock.
   &quot;creationTimestamp&quot;: &quot;A String&quot;, # Output only. [Output Only] Creation timestamp inRFC3339 text format.
+  &quot;healthInfo&quot;: { # Health information for the reservation subBlock. # Output only. [Output Only] Health information for the reservation subBlock.
+    &quot;degradedHostCount&quot;: 42, # The number of degraded hosts in the reservation subBlock.
+    &quot;degradedInfraCount&quot;: 42, # The number of degraded infrastructure (e.g NV link domain) in the
+        # reservation subblock.
+    &quot;healthStatus&quot;: &quot;A String&quot;, # The health status of the reservation subBlock.
+    &quot;healthyHostCount&quot;: 42, # The number of healthy hosts in the reservation subBlock.
+    &quot;healthyInfraCount&quot;: 42, # The number of healthy infrastructure (e.g NV link domain) in the
+        # reservation subblock.
+  },
   &quot;id&quot;: &quot;A String&quot;, # Output only. [Output Only] The unique identifier for the resource. This identifier is
       # defined by the server.
   &quot;inUseCount&quot;: 42, # Output only. [Output Only] The number of instances that are currently in use on this
@@ -1493,15 +1502,6 @@
   &quot;selfLink&quot;: &quot;A String&quot;, # Output only. [Output Only] Server-defined fully-qualified URL for this resource.
   &quot;selfLinkWithId&quot;: &quot;A String&quot;, # Output only. [Output Only] Server-defined URL for this resource with the resource id.
   &quot;status&quot;: &quot;A String&quot;, # Output only. [Output Only] Status of the reservation subBlock.
-  &quot;subBlockHealthInfo&quot;: { # Health information for the reservation subBlock. # Output only. [Output Only] Health information for the reservation subBlock.
-    &quot;degradedHostCount&quot;: 42, # The number of degraded hosts in the reservation subBlock.
-    &quot;degradedInfraCount&quot;: 42, # The number of degraded infrastructure (e.g NV link domain) in the
-        # reservation subblock.
-    &quot;healthStatus&quot;: &quot;A String&quot;, # The health status of the reservation subBlock.
-    &quot;healthyHostCount&quot;: 42, # The number of healthy hosts in the reservation subBlock.
-    &quot;healthyInfraCount&quot;: 42, # The number of healthy infrastructure (e.g NV link domain) in the
-        # reservation subblock.
-  },
   &quot;zone&quot;: &quot;A String&quot;, # Output only. [Output Only] Zone in which the reservation subBlock resides.
 }
 
diff --git a/docs/dyn/contactcenterinsights_v1.projects.locations.dashboards.charts.html b/docs/dyn/contactcenterinsights_v1.projects.locations.dashboards.charts.html
index 6f98d37..752ba90 100644
--- a/docs/dyn/contactcenterinsights_v1.projects.locations.dashboards.charts.html
+++ b/docs/dyn/contactcenterinsights_v1.projects.locations.dashboards.charts.html
@@ -109,6 +109,7 @@
 
 { # Configurable dashboard&#x27;s widget that displays data as a chart.
   &quot;action&quot;: { # The action to be taken when the chart is clicked. # Optional action to be taken when the chart is clicked.
+    &quot;conversationFilter&quot;: &quot;A String&quot;, # The conversation filter string.
     &quot;redirectAction&quot;: { # The redirect action to be taken when the chart is clicked. # Redirect action.
       &quot;queryParams&quot;: { # The query params to be added to the redirect path.
         &quot;a_key&quot;: &quot;A String&quot;,
@@ -198,6 +199,7 @@
 
     { # Configurable dashboard&#x27;s widget that displays data as a chart.
   &quot;action&quot;: { # The action to be taken when the chart is clicked. # Optional action to be taken when the chart is clicked.
+    &quot;conversationFilter&quot;: &quot;A String&quot;, # The conversation filter string.
     &quot;redirectAction&quot;: { # The redirect action to be taken when the chart is clicked. # Redirect action.
       &quot;queryParams&quot;: { # The query params to be added to the redirect path.
         &quot;a_key&quot;: &quot;A String&quot;,
@@ -311,6 +313,7 @@
 
     { # Configurable dashboard&#x27;s widget that displays data as a chart.
   &quot;action&quot;: { # The action to be taken when the chart is clicked. # Optional action to be taken when the chart is clicked.
+    &quot;conversationFilter&quot;: &quot;A String&quot;, # The conversation filter string.
     &quot;redirectAction&quot;: { # The redirect action to be taken when the chart is clicked. # Redirect action.
       &quot;queryParams&quot;: { # The query params to be added to the redirect path.
         &quot;a_key&quot;: &quot;A String&quot;,
@@ -408,6 +411,7 @@
   &quot;charts&quot;: [ # The charts under the parent.
     { # Configurable dashboard&#x27;s widget that displays data as a chart.
       &quot;action&quot;: { # The action to be taken when the chart is clicked. # Optional action to be taken when the chart is clicked.
+        &quot;conversationFilter&quot;: &quot;A String&quot;, # The conversation filter string.
         &quot;redirectAction&quot;: { # The redirect action to be taken when the chart is clicked. # Redirect action.
           &quot;queryParams&quot;: { # The query params to be added to the redirect path.
             &quot;a_key&quot;: &quot;A String&quot;,
@@ -501,6 +505,7 @@
 
 { # Configurable dashboard&#x27;s widget that displays data as a chart.
   &quot;action&quot;: { # The action to be taken when the chart is clicked. # Optional action to be taken when the chart is clicked.
+    &quot;conversationFilter&quot;: &quot;A String&quot;, # The conversation filter string.
     &quot;redirectAction&quot;: { # The redirect action to be taken when the chart is clicked. # Redirect action.
       &quot;queryParams&quot;: { # The query params to be added to the redirect path.
         &quot;a_key&quot;: &quot;A String&quot;,
@@ -590,6 +595,7 @@
 
     { # Configurable dashboard&#x27;s widget that displays data as a chart.
   &quot;action&quot;: { # The action to be taken when the chart is clicked. # Optional action to be taken when the chart is clicked.
+    &quot;conversationFilter&quot;: &quot;A String&quot;, # The conversation filter string.
     &quot;redirectAction&quot;: { # The redirect action to be taken when the chart is clicked. # Redirect action.
       &quot;queryParams&quot;: { # The query params to be added to the redirect path.
         &quot;a_key&quot;: &quot;A String&quot;,
diff --git a/docs/dyn/contactcenterinsights_v1.projects.locations.dashboards.html b/docs/dyn/contactcenterinsights_v1.projects.locations.dashboards.html
index 8d85459..6c325bc 100644
--- a/docs/dyn/contactcenterinsights_v1.projects.locations.dashboards.html
+++ b/docs/dyn/contactcenterinsights_v1.projects.locations.dashboards.html
@@ -152,6 +152,7 @@
       { # Represents a dashboard element, could be a nested Container or Chart.
         &quot;chart&quot;: { # Configurable dashboard&#x27;s widget that displays data as a chart. # A chart widget.
           &quot;action&quot;: { # The action to be taken when the chart is clicked. # Optional action to be taken when the chart is clicked.
+            &quot;conversationFilter&quot;: &quot;A String&quot;, # The conversation filter string.
             &quot;redirectAction&quot;: { # The redirect action to be taken when the chart is clicked. # Redirect action.
               &quot;queryParams&quot;: { # The query params to be added to the redirect path.
                 &quot;a_key&quot;: &quot;A String&quot;,
@@ -285,6 +286,7 @@
       { # Represents a dashboard element, could be a nested Container or Chart.
         &quot;chart&quot;: { # Configurable dashboard&#x27;s widget that displays data as a chart. # A chart widget.
           &quot;action&quot;: { # The action to be taken when the chart is clicked. # Optional action to be taken when the chart is clicked.
+            &quot;conversationFilter&quot;: &quot;A String&quot;, # The conversation filter string.
             &quot;redirectAction&quot;: { # The redirect action to be taken when the chart is clicked. # Redirect action.
               &quot;queryParams&quot;: { # The query params to be added to the redirect path.
                 &quot;a_key&quot;: &quot;A String&quot;,
@@ -442,6 +444,7 @@
       { # Represents a dashboard element, could be a nested Container or Chart.
         &quot;chart&quot;: { # Configurable dashboard&#x27;s widget that displays data as a chart. # A chart widget.
           &quot;action&quot;: { # The action to be taken when the chart is clicked. # Optional action to be taken when the chart is clicked.
+            &quot;conversationFilter&quot;: &quot;A String&quot;, # The conversation filter string.
             &quot;redirectAction&quot;: { # The redirect action to be taken when the chart is clicked. # Redirect action.
               &quot;queryParams&quot;: { # The query params to be added to the redirect path.
                 &quot;a_key&quot;: &quot;A String&quot;,
@@ -587,6 +590,7 @@
           { # Represents a dashboard element, could be a nested Container or Chart.
             &quot;chart&quot;: { # Configurable dashboard&#x27;s widget that displays data as a chart. # A chart widget.
               &quot;action&quot;: { # The action to be taken when the chart is clicked. # Optional action to be taken when the chart is clicked.
+                &quot;conversationFilter&quot;: &quot;A String&quot;, # The conversation filter string.
                 &quot;redirectAction&quot;: { # The redirect action to be taken when the chart is clicked. # Redirect action.
                   &quot;queryParams&quot;: { # The query params to be added to the redirect path.
                     &quot;a_key&quot;: &quot;A String&quot;,
@@ -738,6 +742,7 @@
       { # Represents a dashboard element, could be a nested Container or Chart.
         &quot;chart&quot;: { # Configurable dashboard&#x27;s widget that displays data as a chart. # A chart widget.
           &quot;action&quot;: { # The action to be taken when the chart is clicked. # Optional action to be taken when the chart is clicked.
+            &quot;conversationFilter&quot;: &quot;A String&quot;, # The conversation filter string.
             &quot;redirectAction&quot;: { # The redirect action to be taken when the chart is clicked. # Redirect action.
               &quot;queryParams&quot;: { # The query params to be added to the redirect path.
                 &quot;a_key&quot;: &quot;A String&quot;,
@@ -871,6 +876,7 @@
       { # Represents a dashboard element, could be a nested Container or Chart.
         &quot;chart&quot;: { # Configurable dashboard&#x27;s widget that displays data as a chart. # A chart widget.
           &quot;action&quot;: { # The action to be taken when the chart is clicked. # Optional action to be taken when the chart is clicked.
+            &quot;conversationFilter&quot;: &quot;A String&quot;, # The conversation filter string.
             &quot;redirectAction&quot;: { # The redirect action to be taken when the chart is clicked. # Redirect action.
               &quot;queryParams&quot;: { # The query params to be added to the redirect path.
                 &quot;a_key&quot;: &quot;A String&quot;,
diff --git a/docs/dyn/container_v1.projects.locations.clusters.html b/docs/dyn/container_v1.projects.locations.clusters.html
index 139603b..e59de56 100644
--- a/docs/dyn/container_v1.projects.locations.clusters.html
+++ b/docs/dyn/container_v1.projects.locations.clusters.html
@@ -1312,7 +1312,7 @@
           &quot;enabled&quot;: True or False, # When this is enabled, cluster/node pool creations will ignore non-fatal errors like stockout to best provision as many nodes as possible right now and eventually bring up all target number of nodes
           &quot;minProvisionNodes&quot;: 42, # Minimum number of nodes to be provisioned to be considered as succeeded, and the rest of nodes will be provisioned gradually and eventually when stockout issue has been resolved.
         },
-        &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+        &quot;conditions&quot;: [ # Output only. Which conditions caused the current node pool state.
           { # StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).
             &quot;canonicalCode&quot;: &quot;A String&quot;, # Canonical code of the condition.
             &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition Deprecated. Use canonical_code instead.
@@ -1624,7 +1624,7 @@
             &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running on the node pool.
           },
         },
-        &quot;etag&quot;: &quot;A String&quot;, # This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
+        &quot;etag&quot;: &quot;A String&quot;, # Output only. This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
         &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.
         &quot;instanceGroupUrls&quot;: [ # Output only. The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.
           &quot;A String&quot;,
@@ -3076,7 +3076,7 @@
         &quot;enabled&quot;: True or False, # When this is enabled, cluster/node pool creations will ignore non-fatal errors like stockout to best provision as many nodes as possible right now and eventually bring up all target number of nodes
         &quot;minProvisionNodes&quot;: 42, # Minimum number of nodes to be provisioned to be considered as succeeded, and the rest of nodes will be provisioned gradually and eventually when stockout issue has been resolved.
       },
-      &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+      &quot;conditions&quot;: [ # Output only. Which conditions caused the current node pool state.
         { # StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).
           &quot;canonicalCode&quot;: &quot;A String&quot;, # Canonical code of the condition.
           &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition Deprecated. Use canonical_code instead.
@@ -3388,7 +3388,7 @@
           &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running on the node pool.
         },
       },
-      &quot;etag&quot;: &quot;A String&quot;, # This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
+      &quot;etag&quot;: &quot;A String&quot;, # Output only. This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
       &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.
       &quot;instanceGroupUrls&quot;: [ # Output only. The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.
         &quot;A String&quot;,
@@ -4704,7 +4704,7 @@
             &quot;enabled&quot;: True or False, # When this is enabled, cluster/node pool creations will ignore non-fatal errors like stockout to best provision as many nodes as possible right now and eventually bring up all target number of nodes
             &quot;minProvisionNodes&quot;: 42, # Minimum number of nodes to be provisioned to be considered as succeeded, and the rest of nodes will be provisioned gradually and eventually when stockout issue has been resolved.
           },
-          &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+          &quot;conditions&quot;: [ # Output only. Which conditions caused the current node pool state.
             { # StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).
               &quot;canonicalCode&quot;: &quot;A String&quot;, # Canonical code of the condition.
               &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition Deprecated. Use canonical_code instead.
@@ -5016,7 +5016,7 @@
               &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running on the node pool.
             },
           },
-          &quot;etag&quot;: &quot;A String&quot;, # This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
+          &quot;etag&quot;: &quot;A String&quot;, # Output only. This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
           &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.
           &quot;instanceGroupUrls&quot;: [ # Output only. The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.
             &quot;A String&quot;,
diff --git a/docs/dyn/container_v1.projects.locations.clusters.nodePools.html b/docs/dyn/container_v1.projects.locations.clusters.nodePools.html
index a478d20..5ebe37a 100644
--- a/docs/dyn/container_v1.projects.locations.clusters.nodePools.html
+++ b/docs/dyn/container_v1.projects.locations.clusters.nodePools.html
@@ -168,7 +168,7 @@
       &quot;enabled&quot;: True or False, # When this is enabled, cluster/node pool creations will ignore non-fatal errors like stockout to best provision as many nodes as possible right now and eventually bring up all target number of nodes
       &quot;minProvisionNodes&quot;: 42, # Minimum number of nodes to be provisioned to be considered as succeeded, and the rest of nodes will be provisioned gradually and eventually when stockout issue has been resolved.
     },
-    &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+    &quot;conditions&quot;: [ # Output only. Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).
         &quot;canonicalCode&quot;: &quot;A String&quot;, # Canonical code of the condition.
         &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition Deprecated. Use canonical_code instead.
@@ -480,7 +480,7 @@
         &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running on the node pool.
       },
     },
-    &quot;etag&quot;: &quot;A String&quot;, # This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
+    &quot;etag&quot;: &quot;A String&quot;, # Output only. This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
     &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.
     &quot;instanceGroupUrls&quot;: [ # Output only. The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.
       &quot;A String&quot;,
@@ -804,7 +804,7 @@
     &quot;enabled&quot;: True or False, # When this is enabled, cluster/node pool creations will ignore non-fatal errors like stockout to best provision as many nodes as possible right now and eventually bring up all target number of nodes
     &quot;minProvisionNodes&quot;: 42, # Minimum number of nodes to be provisioned to be considered as succeeded, and the rest of nodes will be provisioned gradually and eventually when stockout issue has been resolved.
   },
-  &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+  &quot;conditions&quot;: [ # Output only. Which conditions caused the current node pool state.
     { # StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).
       &quot;canonicalCode&quot;: &quot;A String&quot;, # Canonical code of the condition.
       &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition Deprecated. Use canonical_code instead.
@@ -1116,7 +1116,7 @@
       &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running on the node pool.
     },
   },
-  &quot;etag&quot;: &quot;A String&quot;, # This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
+  &quot;etag&quot;: &quot;A String&quot;, # Output only. This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
   &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.
   &quot;instanceGroupUrls&quot;: [ # Output only. The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.
     &quot;A String&quot;,
@@ -1264,7 +1264,7 @@
         &quot;enabled&quot;: True or False, # When this is enabled, cluster/node pool creations will ignore non-fatal errors like stockout to best provision as many nodes as possible right now and eventually bring up all target number of nodes
         &quot;minProvisionNodes&quot;: 42, # Minimum number of nodes to be provisioned to be considered as succeeded, and the rest of nodes will be provisioned gradually and eventually when stockout issue has been resolved.
       },
-      &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+      &quot;conditions&quot;: [ # Output only. Which conditions caused the current node pool state.
         { # StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).
           &quot;canonicalCode&quot;: &quot;A String&quot;, # Canonical code of the condition.
           &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition Deprecated. Use canonical_code instead.
@@ -1576,7 +1576,7 @@
           &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running on the node pool.
         },
       },
-      &quot;etag&quot;: &quot;A String&quot;, # This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
+      &quot;etag&quot;: &quot;A String&quot;, # Output only. This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
       &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.
       &quot;instanceGroupUrls&quot;: [ # Output only. The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.
         &quot;A String&quot;,
diff --git a/docs/dyn/container_v1.projects.zones.clusters.html b/docs/dyn/container_v1.projects.zones.clusters.html
index 3e34fe1..c5b5df1 100644
--- a/docs/dyn/container_v1.projects.zones.clusters.html
+++ b/docs/dyn/container_v1.projects.zones.clusters.html
@@ -1426,7 +1426,7 @@
           &quot;enabled&quot;: True or False, # When this is enabled, cluster/node pool creations will ignore non-fatal errors like stockout to best provision as many nodes as possible right now and eventually bring up all target number of nodes
           &quot;minProvisionNodes&quot;: 42, # Minimum number of nodes to be provisioned to be considered as succeeded, and the rest of nodes will be provisioned gradually and eventually when stockout issue has been resolved.
         },
-        &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+        &quot;conditions&quot;: [ # Output only. Which conditions caused the current node pool state.
           { # StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).
             &quot;canonicalCode&quot;: &quot;A String&quot;, # Canonical code of the condition.
             &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition Deprecated. Use canonical_code instead.
@@ -1738,7 +1738,7 @@
             &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running on the node pool.
           },
         },
-        &quot;etag&quot;: &quot;A String&quot;, # This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
+        &quot;etag&quot;: &quot;A String&quot;, # Output only. This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
         &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.
         &quot;instanceGroupUrls&quot;: [ # Output only. The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.
           &quot;A String&quot;,
@@ -3190,7 +3190,7 @@
         &quot;enabled&quot;: True or False, # When this is enabled, cluster/node pool creations will ignore non-fatal errors like stockout to best provision as many nodes as possible right now and eventually bring up all target number of nodes
         &quot;minProvisionNodes&quot;: 42, # Minimum number of nodes to be provisioned to be considered as succeeded, and the rest of nodes will be provisioned gradually and eventually when stockout issue has been resolved.
       },
-      &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+      &quot;conditions&quot;: [ # Output only. Which conditions caused the current node pool state.
         { # StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).
           &quot;canonicalCode&quot;: &quot;A String&quot;, # Canonical code of the condition.
           &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition Deprecated. Use canonical_code instead.
@@ -3502,7 +3502,7 @@
           &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running on the node pool.
         },
       },
-      &quot;etag&quot;: &quot;A String&quot;, # This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
+      &quot;etag&quot;: &quot;A String&quot;, # Output only. This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
       &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.
       &quot;instanceGroupUrls&quot;: [ # Output only. The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.
         &quot;A String&quot;,
@@ -4862,7 +4862,7 @@
             &quot;enabled&quot;: True or False, # When this is enabled, cluster/node pool creations will ignore non-fatal errors like stockout to best provision as many nodes as possible right now and eventually bring up all target number of nodes
             &quot;minProvisionNodes&quot;: 42, # Minimum number of nodes to be provisioned to be considered as succeeded, and the rest of nodes will be provisioned gradually and eventually when stockout issue has been resolved.
           },
-          &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+          &quot;conditions&quot;: [ # Output only. Which conditions caused the current node pool state.
             { # StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).
               &quot;canonicalCode&quot;: &quot;A String&quot;, # Canonical code of the condition.
               &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition Deprecated. Use canonical_code instead.
@@ -5174,7 +5174,7 @@
               &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running on the node pool.
             },
           },
-          &quot;etag&quot;: &quot;A String&quot;, # This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
+          &quot;etag&quot;: &quot;A String&quot;, # Output only. This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
           &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.
           &quot;instanceGroupUrls&quot;: [ # Output only. The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.
             &quot;A String&quot;,
diff --git a/docs/dyn/container_v1.projects.zones.clusters.nodePools.html b/docs/dyn/container_v1.projects.zones.clusters.nodePools.html
index b225264..e71bbc8 100644
--- a/docs/dyn/container_v1.projects.zones.clusters.nodePools.html
+++ b/docs/dyn/container_v1.projects.zones.clusters.nodePools.html
@@ -233,7 +233,7 @@
       &quot;enabled&quot;: True or False, # When this is enabled, cluster/node pool creations will ignore non-fatal errors like stockout to best provision as many nodes as possible right now and eventually bring up all target number of nodes
       &quot;minProvisionNodes&quot;: 42, # Minimum number of nodes to be provisioned to be considered as succeeded, and the rest of nodes will be provisioned gradually and eventually when stockout issue has been resolved.
     },
-    &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+    &quot;conditions&quot;: [ # Output only. Which conditions caused the current node pool state.
       { # StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).
         &quot;canonicalCode&quot;: &quot;A String&quot;, # Canonical code of the condition.
         &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition Deprecated. Use canonical_code instead.
@@ -545,7 +545,7 @@
         &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running on the node pool.
       },
     },
-    &quot;etag&quot;: &quot;A String&quot;, # This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
+    &quot;etag&quot;: &quot;A String&quot;, # Output only. This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
     &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.
     &quot;instanceGroupUrls&quot;: [ # Output only. The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.
       &quot;A String&quot;,
@@ -869,7 +869,7 @@
     &quot;enabled&quot;: True or False, # When this is enabled, cluster/node pool creations will ignore non-fatal errors like stockout to best provision as many nodes as possible right now and eventually bring up all target number of nodes
     &quot;minProvisionNodes&quot;: 42, # Minimum number of nodes to be provisioned to be considered as succeeded, and the rest of nodes will be provisioned gradually and eventually when stockout issue has been resolved.
   },
-  &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+  &quot;conditions&quot;: [ # Output only. Which conditions caused the current node pool state.
     { # StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).
       &quot;canonicalCode&quot;: &quot;A String&quot;, # Canonical code of the condition.
       &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition Deprecated. Use canonical_code instead.
@@ -1181,7 +1181,7 @@
       &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running on the node pool.
     },
   },
-  &quot;etag&quot;: &quot;A String&quot;, # This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
+  &quot;etag&quot;: &quot;A String&quot;, # Output only. This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
   &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.
   &quot;instanceGroupUrls&quot;: [ # Output only. The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.
     &quot;A String&quot;,
@@ -1329,7 +1329,7 @@
         &quot;enabled&quot;: True or False, # When this is enabled, cluster/node pool creations will ignore non-fatal errors like stockout to best provision as many nodes as possible right now and eventually bring up all target number of nodes
         &quot;minProvisionNodes&quot;: 42, # Minimum number of nodes to be provisioned to be considered as succeeded, and the rest of nodes will be provisioned gradually and eventually when stockout issue has been resolved.
       },
-      &quot;conditions&quot;: [ # Which conditions caused the current node pool state.
+      &quot;conditions&quot;: [ # Output only. Which conditions caused the current node pool state.
         { # StatusCondition describes why a cluster or a node pool has a certain status (e.g., ERROR or DEGRADED).
           &quot;canonicalCode&quot;: &quot;A String&quot;, # Canonical code of the condition.
           &quot;code&quot;: &quot;A String&quot;, # Machine-friendly representation of the condition Deprecated. Use canonical_code instead.
@@ -1641,7 +1641,7 @@
           &quot;mode&quot;: &quot;A String&quot;, # Mode is the configuration for how to expose metadata to workloads running on the node pool.
         },
       },
-      &quot;etag&quot;: &quot;A String&quot;, # This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
+      &quot;etag&quot;: &quot;A String&quot;, # Output only. This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.
       &quot;initialNodeCount&quot;: 42, # The initial node count for the pool. You must ensure that your Compute Engine [resource quota](https://cloud.google.com/compute/quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.
       &quot;instanceGroupUrls&quot;: [ # Output only. The resource URLs of the [managed instance groups](https://cloud.google.com/compute/docs/instance-groups/creating-groups-of-managed-instances) associated with this node pool. During the node pool blue-green upgrade operation, the URLs contain both blue and green resources.
         &quot;A String&quot;,
diff --git a/docs/dyn/dataform_v1.projects.locations.folders.html b/docs/dyn/dataform_v1.projects.locations.folders.html
index 2814941..83e1ad0 100644
--- a/docs/dyn/dataform_v1.projects.locations.folders.html
+++ b/docs/dyn/dataform_v1.projects.locations.folders.html
@@ -400,9 +400,9 @@
         &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
         &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
           &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-          &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+          &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
           &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-          &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+          &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
           &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
             &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
             &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
diff --git a/docs/dyn/dataform_v1.projects.locations.html b/docs/dyn/dataform_v1.projects.locations.html
index efa8551..e59d3cc 100644
--- a/docs/dyn/dataform_v1.projects.locations.html
+++ b/docs/dyn/dataform_v1.projects.locations.html
@@ -262,9 +262,9 @@
         &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
         &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
           &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-          &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+          &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
           &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-          &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+          &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
           &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
             &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
             &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
diff --git a/docs/dyn/dataform_v1.projects.locations.repositories.compilationResults.html b/docs/dyn/dataform_v1.projects.locations.repositories.compilationResults.html
index f08a43d..a9747f1 100644
--- a/docs/dyn/dataform_v1.projects.locations.repositories.compilationResults.html
+++ b/docs/dyn/dataform_v1.projects.locations.repositories.compilationResults.html
@@ -130,7 +130,7 @@
   },
   &quot;compilationErrors&quot;: [ # Output only. Errors encountered during project compilation.
     { # An error encountered when attempting to compile a Dataform project.
-      &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:CompilationError)
+      &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available.
         &quot;database&quot;: &quot;A String&quot;, # Optional. The action&#x27;s database (Google Cloud project ID) .
         &quot;name&quot;: &quot;A String&quot;, # Optional. The action&#x27;s name, within `database` and `schema`.
         &quot;schema&quot;: &quot;A String&quot;, # Optional. The action&#x27;s schema (BigQuery dataset ID), within `database`.
@@ -184,7 +184,7 @@
   },
   &quot;compilationErrors&quot;: [ # Output only. Errors encountered during project compilation.
     { # An error encountered when attempting to compile a Dataform project.
-      &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:CompilationError)
+      &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available.
         &quot;database&quot;: &quot;A String&quot;, # Optional. The action&#x27;s database (Google Cloud project ID) .
         &quot;name&quot;: &quot;A String&quot;, # Optional. The action&#x27;s name, within `database` and `schema`.
         &quot;schema&quot;: &quot;A String&quot;, # Optional. The action&#x27;s schema (BigQuery dataset ID), within `database`.
@@ -216,7 +216,7 @@
   <pre>Fetches a single CompilationResult.
 
 Args:
-  name: string, Required. The compilation result&#x27;s name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:GetCompilationResultRequest) (required)
+  name: string, Required. The compilation result&#x27;s name. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -245,7 +245,7 @@
   },
   &quot;compilationErrors&quot;: [ # Output only. Errors encountered during project compilation.
     { # An error encountered when attempting to compile a Dataform project.
-      &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:CompilationError)
+      &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available.
         &quot;database&quot;: &quot;A String&quot;, # Optional. The action&#x27;s database (Google Cloud project ID) .
         &quot;name&quot;: &quot;A String&quot;, # Optional. The action&#x27;s name, within `database` and `schema`.
         &quot;schema&quot;: &quot;A String&quot;, # Optional. The action&#x27;s schema (BigQuery dataset ID), within `database`.
@@ -278,7 +278,7 @@
 
 Args:
   parent: string, Required. The repository in which to list compilation results. Must be in the format `projects/*/locations/*/repositories/*`. (required)
-  filter: string, Optional. Filter for the returned list. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListCompilationResultsRequest)
+  filter: string, Optional. Filter for the returned list.
   orderBy: string, Optional. This field only supports ordering by `name` and `create_time`. If unspecified, the server will choose the ordering. If specified, the default order is ascending for the `name` field.
   pageSize: integer, Optional. Maximum number of compilation results to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default.
   pageToken: string, Optional. Page token received from a previous `ListCompilationResults` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCompilationResults`, with the exception of `page_size`, must match the call that provided the page token.
@@ -312,7 +312,7 @@
       },
       &quot;compilationErrors&quot;: [ # Output only. Errors encountered during project compilation.
         { # An error encountered when attempting to compile a Dataform project.
-          &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:CompilationError)
+          &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available.
             &quot;database&quot;: &quot;A String&quot;, # Optional. The action&#x27;s database (Google Cloud project ID) .
             &quot;name&quot;: &quot;A String&quot;, # Optional. The action&#x27;s name, within `database` and `schema`.
             &quot;schema&quot;: &quot;A String&quot;, # Optional. The action&#x27;s schema (BigQuery dataset ID), within `database`.
@@ -339,7 +339,7 @@
     },
   ],
   &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.
-  &quot;unreachable&quot;: [ # Locations which could not be reached. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListCompilationResultsResponse)
+  &quot;unreachable&quot;: [ # Locations which could not be reached.
     &quot;A String&quot;,
   ],
 }</pre>
diff --git a/docs/dyn/dataform_v1.projects.locations.repositories.html b/docs/dyn/dataform_v1.projects.locations.repositories.html
index c556d5d..941ec38 100644
--- a/docs/dyn/dataform_v1.projects.locations.repositories.html
+++ b/docs/dyn/dataform_v1.projects.locations.repositories.html
@@ -241,9 +241,9 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
   &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
     &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
     &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
     &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
       &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
       &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
@@ -286,9 +286,9 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
   &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
     &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
     &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
     &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
       &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
       &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
@@ -423,9 +423,9 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
   &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
     &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
     &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
     &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
       &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
       &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
@@ -516,9 +516,9 @@
       &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
       &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
         &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-        &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+        &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
         &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-        &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+        &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
         &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
           &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
           &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
@@ -623,9 +623,9 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
   &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
     &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
     &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
     &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
       &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
       &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
@@ -668,9 +668,9 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
   &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
     &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
     &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
     &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
       &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
       &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
diff --git a/docs/dyn/dataform_v1.projects.locations.repositories.releaseConfigs.html b/docs/dyn/dataform_v1.projects.locations.repositories.releaseConfigs.html
index 2d32e09..fd7df87 100644
--- a/docs/dyn/dataform_v1.projects.locations.repositories.releaseConfigs.html
+++ b/docs/dyn/dataform_v1.projects.locations.repositories.releaseConfigs.html
@@ -131,7 +131,7 @@
   &quot;cronSchedule&quot;: &quot;A String&quot;, # Optional. Optional schedule (in cron format) for automatic creation of compilation results.
   &quot;disabled&quot;: True or False, # Optional. Disables automatic creation of compilation results.
   &quot;gitCommitish&quot;: &quot;A String&quot;, # Required. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
-  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ReleaseConfig)
+  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
   &quot;name&quot;: &quot;A String&quot;, # Identifier. The release config&#x27;s name.
   &quot;recentScheduledReleaseRecords&quot;: [ # Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule.
     { # A record of an attempt to create a compilation result for this release config.
@@ -152,7 +152,7 @@
   &quot;timeZone&quot;: &quot;A String&quot;, # Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). If left unspecified, the default is UTC.
 }
 
-  releaseConfigId: string, Required. The ID to use for the release config, which will become the final component of the release config&#x27;s resource name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:CreateReleaseConfigRequest)
+  releaseConfigId: string, Required. The ID to use for the release config, which will become the final component of the release config&#x27;s resource name.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -182,7 +182,7 @@
   &quot;cronSchedule&quot;: &quot;A String&quot;, # Optional. Optional schedule (in cron format) for automatic creation of compilation results.
   &quot;disabled&quot;: True or False, # Optional. Disables automatic creation of compilation results.
   &quot;gitCommitish&quot;: &quot;A String&quot;, # Required. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
-  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ReleaseConfig)
+  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
   &quot;name&quot;: &quot;A String&quot;, # Identifier. The release config&#x27;s name.
   &quot;recentScheduledReleaseRecords&quot;: [ # Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule.
     { # A record of an attempt to create a compilation result for this release config.
@@ -209,7 +209,7 @@
   <pre>Deletes a single ReleaseConfig.
 
 Args:
-  name: string, Required. The release config&#x27;s name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:DeleteReleaseConfigRequest) (required)
+  name: string, Required. The release config&#x27;s name. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -227,7 +227,7 @@
   <pre>Fetches a single ReleaseConfig.
 
 Args:
-  name: string, Required. The release config&#x27;s name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:GetReleaseConfigRequest) (required)
+  name: string, Required. The release config&#x27;s name. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -257,7 +257,7 @@
   &quot;cronSchedule&quot;: &quot;A String&quot;, # Optional. Optional schedule (in cron format) for automatic creation of compilation results.
   &quot;disabled&quot;: True or False, # Optional. Disables automatic creation of compilation results.
   &quot;gitCommitish&quot;: &quot;A String&quot;, # Required. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
-  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ReleaseConfig)
+  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
   &quot;name&quot;: &quot;A String&quot;, # Identifier. The release config&#x27;s name.
   &quot;recentScheduledReleaseRecords&quot;: [ # Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule.
     { # A record of an attempt to create a compilation result for this release config.
@@ -286,7 +286,7 @@
 Args:
   parent: string, Required. The repository in which to list release configs. Must be in the format `projects/*/locations/*/repositories/*`. (required)
   pageSize: integer, Optional. Maximum number of release configs to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default.
-  pageToken: string, Optional. Page token received from a previous `ListReleaseConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleaseConfigs`, with the exception of `page_size`, must match the call that provided the page token. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListReleaseConfigsRequest)
+  pageToken: string, Optional. Page token received from a previous `ListReleaseConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleaseConfigs`, with the exception of `page_size`, must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -319,7 +319,7 @@
       &quot;cronSchedule&quot;: &quot;A String&quot;, # Optional. Optional schedule (in cron format) for automatic creation of compilation results.
       &quot;disabled&quot;: True or False, # Optional. Disables automatic creation of compilation results.
       &quot;gitCommitish&quot;: &quot;A String&quot;, # Required. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
-      &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ReleaseConfig)
+      &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
       &quot;name&quot;: &quot;A String&quot;, # Identifier. The release config&#x27;s name.
       &quot;recentScheduledReleaseRecords&quot;: [ # Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule.
         { # A record of an attempt to create a compilation result for this release config.
@@ -340,7 +340,7 @@
       &quot;timeZone&quot;: &quot;A String&quot;, # Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). If left unspecified, the default is UTC.
     },
   ],
-  &quot;unreachable&quot;: [ # Locations which could not be reached. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListReleaseConfigsResponse)
+  &quot;unreachable&quot;: [ # Locations which could not be reached.
     &quot;A String&quot;,
   ],
 }</pre>
@@ -390,7 +390,7 @@
   &quot;cronSchedule&quot;: &quot;A String&quot;, # Optional. Optional schedule (in cron format) for automatic creation of compilation results.
   &quot;disabled&quot;: True or False, # Optional. Disables automatic creation of compilation results.
   &quot;gitCommitish&quot;: &quot;A String&quot;, # Required. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
-  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ReleaseConfig)
+  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
   &quot;name&quot;: &quot;A String&quot;, # Identifier. The release config&#x27;s name.
   &quot;recentScheduledReleaseRecords&quot;: [ # Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule.
     { # A record of an attempt to create a compilation result for this release config.
@@ -441,7 +441,7 @@
   &quot;cronSchedule&quot;: &quot;A String&quot;, # Optional. Optional schedule (in cron format) for automatic creation of compilation results.
   &quot;disabled&quot;: True or False, # Optional. Disables automatic creation of compilation results.
   &quot;gitCommitish&quot;: &quot;A String&quot;, # Required. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
-  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ReleaseConfig)
+  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
   &quot;name&quot;: &quot;A String&quot;, # Identifier. The release config&#x27;s name.
   &quot;recentScheduledReleaseRecords&quot;: [ # Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule.
     { # A record of an attempt to create a compilation result for this release config.
diff --git a/docs/dyn/dataform_v1.projects.locations.teamFolders.html b/docs/dyn/dataform_v1.projects.locations.teamFolders.html
index 25ee1d3..a68b3c1 100644
--- a/docs/dyn/dataform_v1.projects.locations.teamFolders.html
+++ b/docs/dyn/dataform_v1.projects.locations.teamFolders.html
@@ -351,9 +351,9 @@
         &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
         &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
           &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-          &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+          &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
           &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-          &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+          &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
           &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
             &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
             &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
@@ -405,7 +405,7 @@
   location: string, Required. Location in which to query TeamFolders. Format: `projects/*/locations/*`. (required)
   filter: string, Optional. Optional filtering for the returned list. Filtering is currently only supported on the `display_name` field. Example: * `filter=&quot;display_name=&quot;MyFolder&quot;&quot;`
   orderBy: string, Optional. Field to additionally sort results by. Supported keywords: `display_name` (default), `create_time`, `last_modified_time`. Examples: * `orderBy=&quot;display_name&quot;` * `orderBy=&quot;display_name desc&quot;`
-  pageSize: integer, Optional. Maximum number of TeamFolders to return. The server may return fewer items than requested. If unspecified, the server will pick a default of page_size = 50.
+  pageSize: integer, Optional. Maximum number of `TeamFolders` to return. The server may return fewer items than requested. If unspecified, the server will pick a default of `page_size` = 50.
   pageToken: string, Optional. Page token received from a previous `SearchTeamFolders` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchTeamFolders`, with the exception of `page_size`, must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/dataform_v1beta1.projects.locations.folders.html b/docs/dyn/dataform_v1beta1.projects.locations.folders.html
index 6d3b010..b98b1a0 100644
--- a/docs/dyn/dataform_v1beta1.projects.locations.folders.html
+++ b/docs/dyn/dataform_v1beta1.projects.locations.folders.html
@@ -401,9 +401,9 @@
         &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
         &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
           &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-          &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+          &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
           &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-          &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+          &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
           &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
             &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
             &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
diff --git a/docs/dyn/dataform_v1beta1.projects.locations.html b/docs/dyn/dataform_v1beta1.projects.locations.html
index bc00b23..c2d381b 100644
--- a/docs/dyn/dataform_v1beta1.projects.locations.html
+++ b/docs/dyn/dataform_v1beta1.projects.locations.html
@@ -262,9 +262,9 @@
         &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
         &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
           &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-          &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+          &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
           &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-          &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+          &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
           &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
             &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
             &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
diff --git a/docs/dyn/dataform_v1beta1.projects.locations.repositories.compilationResults.html b/docs/dyn/dataform_v1beta1.projects.locations.repositories.compilationResults.html
index d685b93..1ca41c1 100644
--- a/docs/dyn/dataform_v1beta1.projects.locations.repositories.compilationResults.html
+++ b/docs/dyn/dataform_v1beta1.projects.locations.repositories.compilationResults.html
@@ -130,7 +130,7 @@
   },
   &quot;compilationErrors&quot;: [ # Output only. Errors encountered during project compilation.
     { # An error encountered when attempting to compile a Dataform project.
-      &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:CompilationError)
+      &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available.
         &quot;database&quot;: &quot;A String&quot;, # Optional. The action&#x27;s database (Google Cloud project ID) .
         &quot;name&quot;: &quot;A String&quot;, # Optional. The action&#x27;s name, within `database` and `schema`.
         &quot;schema&quot;: &quot;A String&quot;, # Optional. The action&#x27;s schema (BigQuery dataset ID), within `database`.
@@ -184,7 +184,7 @@
   },
   &quot;compilationErrors&quot;: [ # Output only. Errors encountered during project compilation.
     { # An error encountered when attempting to compile a Dataform project.
-      &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:CompilationError)
+      &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available.
         &quot;database&quot;: &quot;A String&quot;, # Optional. The action&#x27;s database (Google Cloud project ID) .
         &quot;name&quot;: &quot;A String&quot;, # Optional. The action&#x27;s name, within `database` and `schema`.
         &quot;schema&quot;: &quot;A String&quot;, # Optional. The action&#x27;s schema (BigQuery dataset ID), within `database`.
@@ -216,7 +216,7 @@
   <pre>Fetches a single CompilationResult.
 
 Args:
-  name: string, Required. The compilation result&#x27;s name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:GetCompilationResultRequest) (required)
+  name: string, Required. The compilation result&#x27;s name. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -245,7 +245,7 @@
   },
   &quot;compilationErrors&quot;: [ # Output only. Errors encountered during project compilation.
     { # An error encountered when attempting to compile a Dataform project.
-      &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:CompilationError)
+      &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available.
         &quot;database&quot;: &quot;A String&quot;, # Optional. The action&#x27;s database (Google Cloud project ID) .
         &quot;name&quot;: &quot;A String&quot;, # Optional. The action&#x27;s name, within `database` and `schema`.
         &quot;schema&quot;: &quot;A String&quot;, # Optional. The action&#x27;s schema (BigQuery dataset ID), within `database`.
@@ -278,7 +278,7 @@
 
 Args:
   parent: string, Required. The repository in which to list compilation results. Must be in the format `projects/*/locations/*/repositories/*`. (required)
-  filter: string, Optional. Filter for the returned list. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListCompilationResultsRequest)
+  filter: string, Optional. Filter for the returned list.
   orderBy: string, Optional. This field only supports ordering by `name` and `create_time`. If unspecified, the server will choose the ordering. If specified, the default order is ascending for the `name` field.
   pageSize: integer, Optional. Maximum number of compilation results to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default.
   pageToken: string, Optional. Page token received from a previous `ListCompilationResults` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListCompilationResults`, with the exception of `page_size`, must match the call that provided the page token.
@@ -312,7 +312,7 @@
       },
       &quot;compilationErrors&quot;: [ # Output only. Errors encountered during project compilation.
         { # An error encountered when attempting to compile a Dataform project.
-          &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:CompilationError)
+          &quot;actionTarget&quot;: { # Represents an action identifier. If the action writes output, the output will be written to the referenced database object. # Output only. The identifier of the action where this error occurred, if available.
             &quot;database&quot;: &quot;A String&quot;, # Optional. The action&#x27;s database (Google Cloud project ID) .
             &quot;name&quot;: &quot;A String&quot;, # Optional. The action&#x27;s name, within `database` and `schema`.
             &quot;schema&quot;: &quot;A String&quot;, # Optional. The action&#x27;s schema (BigQuery dataset ID), within `database`.
@@ -339,7 +339,7 @@
     },
   ],
   &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.
-  &quot;unreachable&quot;: [ # Locations which could not be reached. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListCompilationResultsResponse)
+  &quot;unreachable&quot;: [ # Locations which could not be reached.
     &quot;A String&quot;,
   ],
 }</pre>
diff --git a/docs/dyn/dataform_v1beta1.projects.locations.repositories.html b/docs/dyn/dataform_v1beta1.projects.locations.repositories.html
index 1b9b98a..ec90e51 100644
--- a/docs/dyn/dataform_v1beta1.projects.locations.repositories.html
+++ b/docs/dyn/dataform_v1beta1.projects.locations.repositories.html
@@ -116,7 +116,7 @@
 <p class="firstline">Deletes a single Repository.</p>
 <p class="toc_element">
   <code><a href="#deleteLongRunning">deleteLongRunning(name, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Deletes a single Repository asynchronously.</p>
+<p class="firstline">Deletes a single repository asynchronously.</p>
 <p class="toc_element">
   <code><a href="#fetchHistory">fetchHistory(name, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Fetches a Repository's history of commits. The Repository must not have a value for `git_remote_settings.url`.</p>
@@ -244,9 +244,9 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
   &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
     &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
     &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
     &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
       &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
       &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
@@ -289,9 +289,9 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
   &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
     &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
     &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
     &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
       &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
       &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
@@ -338,7 +338,7 @@
 
 <div class="method">
     <code class="details" id="deleteLongRunning">deleteLongRunning(name, body=None, x__xgafv=None)</code>
-  <pre>Deletes a single Repository asynchronously.
+  <pre>Deletes a single repository asynchronously.
 
 Args:
   name: string, Required. The repository&#x27;s name. (required)
@@ -468,9 +468,9 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
   &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
     &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
     &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
     &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
       &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
       &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
@@ -561,9 +561,9 @@
       &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
       &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
         &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-        &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+        &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
         &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-        &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+        &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
         &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
           &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
           &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
@@ -668,9 +668,9 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
   &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
     &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
     &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
     &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
       &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
       &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
@@ -713,9 +713,9 @@
   &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
   &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
     &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+    &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
     &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+    &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
     &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
       &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
       &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
diff --git a/docs/dyn/dataform_v1beta1.projects.locations.repositories.releaseConfigs.html b/docs/dyn/dataform_v1beta1.projects.locations.repositories.releaseConfigs.html
index ad6f116..6537975 100644
--- a/docs/dyn/dataform_v1beta1.projects.locations.repositories.releaseConfigs.html
+++ b/docs/dyn/dataform_v1beta1.projects.locations.repositories.releaseConfigs.html
@@ -131,7 +131,7 @@
   &quot;cronSchedule&quot;: &quot;A String&quot;, # Optional. Optional schedule (in cron format) for automatic creation of compilation results.
   &quot;disabled&quot;: True or False, # Optional. Disables automatic creation of compilation results.
   &quot;gitCommitish&quot;: &quot;A String&quot;, # Required. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
-  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ReleaseConfig)
+  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
   &quot;name&quot;: &quot;A String&quot;, # Identifier. The release config&#x27;s name.
   &quot;recentScheduledReleaseRecords&quot;: [ # Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule.
     { # A record of an attempt to create a compilation result for this release config.
@@ -152,7 +152,7 @@
   &quot;timeZone&quot;: &quot;A String&quot;, # Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). If left unspecified, the default is UTC.
 }
 
-  releaseConfigId: string, Required. The ID to use for the release config, which will become the final component of the release config&#x27;s resource name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:CreateReleaseConfigRequest)
+  releaseConfigId: string, Required. The ID to use for the release config, which will become the final component of the release config&#x27;s resource name.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -182,7 +182,7 @@
   &quot;cronSchedule&quot;: &quot;A String&quot;, # Optional. Optional schedule (in cron format) for automatic creation of compilation results.
   &quot;disabled&quot;: True or False, # Optional. Disables automatic creation of compilation results.
   &quot;gitCommitish&quot;: &quot;A String&quot;, # Required. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
-  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ReleaseConfig)
+  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
   &quot;name&quot;: &quot;A String&quot;, # Identifier. The release config&#x27;s name.
   &quot;recentScheduledReleaseRecords&quot;: [ # Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule.
     { # A record of an attempt to create a compilation result for this release config.
@@ -209,7 +209,7 @@
   <pre>Deletes a single ReleaseConfig.
 
 Args:
-  name: string, Required. The release config&#x27;s name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:DeleteReleaseConfigRequest) (required)
+  name: string, Required. The release config&#x27;s name. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -227,7 +227,7 @@
   <pre>Fetches a single ReleaseConfig.
 
 Args:
-  name: string, Required. The release config&#x27;s name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:GetReleaseConfigRequest) (required)
+  name: string, Required. The release config&#x27;s name. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -257,7 +257,7 @@
   &quot;cronSchedule&quot;: &quot;A String&quot;, # Optional. Optional schedule (in cron format) for automatic creation of compilation results.
   &quot;disabled&quot;: True or False, # Optional. Disables automatic creation of compilation results.
   &quot;gitCommitish&quot;: &quot;A String&quot;, # Required. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
-  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ReleaseConfig)
+  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
   &quot;name&quot;: &quot;A String&quot;, # Identifier. The release config&#x27;s name.
   &quot;recentScheduledReleaseRecords&quot;: [ # Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule.
     { # A record of an attempt to create a compilation result for this release config.
@@ -286,7 +286,7 @@
 Args:
   parent: string, Required. The repository in which to list release configs. Must be in the format `projects/*/locations/*/repositories/*`. (required)
   pageSize: integer, Optional. Maximum number of release configs to return. The server may return fewer items than requested. If unspecified, the server will pick an appropriate default.
-  pageToken: string, Optional. Page token received from a previous `ListReleaseConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleaseConfigs`, with the exception of `page_size`, must match the call that provided the page token. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListReleaseConfigsRequest)
+  pageToken: string, Optional. Page token received from a previous `ListReleaseConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleaseConfigs`, with the exception of `page_size`, must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -319,7 +319,7 @@
       &quot;cronSchedule&quot;: &quot;A String&quot;, # Optional. Optional schedule (in cron format) for automatic creation of compilation results.
       &quot;disabled&quot;: True or False, # Optional. Disables automatic creation of compilation results.
       &quot;gitCommitish&quot;: &quot;A String&quot;, # Required. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
-      &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ReleaseConfig)
+      &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
       &quot;name&quot;: &quot;A String&quot;, # Identifier. The release config&#x27;s name.
       &quot;recentScheduledReleaseRecords&quot;: [ # Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule.
         { # A record of an attempt to create a compilation result for this release config.
@@ -340,7 +340,7 @@
       &quot;timeZone&quot;: &quot;A String&quot;, # Optional. Specifies the time zone to be used when interpreting cron_schedule. Must be a time zone name from the time zone database (https://en.wikipedia.org/wiki/List_of_tz_database_time_zones). If left unspecified, the default is UTC.
     },
   ],
-  &quot;unreachable&quot;: [ # Locations which could not be reached. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListReleaseConfigsResponse)
+  &quot;unreachable&quot;: [ # Locations which could not be reached.
     &quot;A String&quot;,
   ],
 }</pre>
@@ -390,7 +390,7 @@
   &quot;cronSchedule&quot;: &quot;A String&quot;, # Optional. Optional schedule (in cron format) for automatic creation of compilation results.
   &quot;disabled&quot;: True or False, # Optional. Disables automatic creation of compilation results.
   &quot;gitCommitish&quot;: &quot;A String&quot;, # Required. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
-  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ReleaseConfig)
+  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
   &quot;name&quot;: &quot;A String&quot;, # Identifier. The release config&#x27;s name.
   &quot;recentScheduledReleaseRecords&quot;: [ # Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule.
     { # A record of an attempt to create a compilation result for this release config.
@@ -441,7 +441,7 @@
   &quot;cronSchedule&quot;: &quot;A String&quot;, # Optional. Optional schedule (in cron format) for automatic creation of compilation results.
   &quot;disabled&quot;: True or False, # Optional. Disables automatic creation of compilation results.
   &quot;gitCommitish&quot;: &quot;A String&quot;, # Required. Git commit/tag/branch name at which the repository should be compiled. Must exist in the remote repository. Examples: - a commit SHA: `12ade345` - a tag: `tag1` - a branch name: `branch1`
-  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ReleaseConfig)
+  &quot;internalMetadata&quot;: &quot;A String&quot;, # Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.
   &quot;name&quot;: &quot;A String&quot;, # Identifier. The release config&#x27;s name.
   &quot;recentScheduledReleaseRecords&quot;: [ # Output only. Records of the 10 most recent scheduled release attempts, ordered in descending order of `release_time`. Updated whenever automatic creation of a compilation result is triggered by cron_schedule.
     { # A record of an attempt to create a compilation result for this release config.
diff --git a/docs/dyn/dataform_v1beta1.projects.locations.teamFolders.html b/docs/dyn/dataform_v1beta1.projects.locations.teamFolders.html
index 6224e55..800b012 100644
--- a/docs/dyn/dataform_v1beta1.projects.locations.teamFolders.html
+++ b/docs/dyn/dataform_v1beta1.projects.locations.teamFolders.html
@@ -352,9 +352,9 @@
         &quot;displayName&quot;: &quot;A String&quot;, # Optional. The repository&#x27;s user-friendly name.
         &quot;gitRemoteSettings&quot;: { # Controls Git remote configuration for a repository. # Optional. If set, configures this repository to be linked to a Git remote.
           &quot;authenticationTokenSecretVersion&quot;: &quot;A String&quot;, # Optional. The name of the Secret Manager secret version to use as an authentication token for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
-          &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set `main` will be used.
+          &quot;defaultBranch&quot;: &quot;A String&quot;, # Optional. The Git remote&#x27;s default branch name. If not set, `main` will be used.
           &quot;effectiveDefaultBranch&quot;: &quot;A String&quot;, # Output only. The Git remote&#x27;s effective default branch name. This is the default branch name of the Git remote if it is set, otherwise it is `main`.
-          &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
+          &quot;gitRepositoryLink&quot;: &quot;A String&quot;, # Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`
           &quot;sshAuthenticationConfig&quot;: { # Configures fields for performing SSH authentication. # Optional. Authentication fields for remote uris using SSH protocol.
             &quot;hostPublicKey&quot;: &quot;A String&quot;, # Required. Content of a public SSH key to verify an identity of a remote Git host.
             &quot;userPrivateKeySecretVersion&quot;: &quot;A String&quot;, # Required. The name of the Secret Manager secret version to use as a ssh private key for Git operations. Must be in the format `projects/*/secrets/*/versions/*`.
@@ -406,7 +406,7 @@
   location: string, Required. Location in which to query TeamFolders. Format: `projects/*/locations/*`. (required)
   filter: string, Optional. Optional filtering for the returned list. Filtering is currently only supported on the `display_name` field. Example: * `filter=&quot;display_name=&quot;MyFolder&quot;&quot;`
   orderBy: string, Optional. Field to additionally sort results by. Supported keywords: `display_name` (default), `create_time`, `last_modified_time`. Examples: * `orderBy=&quot;display_name&quot;` * `orderBy=&quot;display_name desc&quot;`
-  pageSize: integer, Optional. Maximum number of TeamFolders to return. The server may return fewer items than requested. If unspecified, the server will pick a default of page_size = 50.
+  pageSize: integer, Optional. Maximum number of `TeamFolders` to return. The server may return fewer items than requested. If unspecified, the server will pick a default of `page_size` = 50.
   pageToken: string, Optional. Page token received from a previous `SearchTeamFolders` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchTeamFolders`, with the exception of `page_size`, must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/datamigration_v1.projects.locations.migrationJobs.html b/docs/dyn/datamigration_v1.projects.locations.migrationJobs.html
index 5ab3ae9..931fb67 100644
--- a/docs/dyn/datamigration_v1.projects.locations.migrationJobs.html
+++ b/docs/dyn/datamigration_v1.projects.locations.migrationJobs.html
@@ -192,6 +192,9 @@
   &quot;labels&quot;: { # The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of &quot;key&quot;: &quot;value&quot; pairs. Example: `{ &quot;name&quot;: &quot;wrench&quot;, &quot;mass&quot;: &quot;1.3kg&quot;, &quot;count&quot;: &quot;3&quot; }`.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
+  &quot;mysqlHomogeneousConfig&quot;: { # Configuration for MySQL to MySQL migrations. # Optional. Configuration for MySQL homogeneous migration.
+    &quot;isPrimaryDestination&quot;: True or False, # Optional. Whether the destination for the migration job is a primary instance.
+  },
   &quot;name&quot;: &quot;A String&quot;, # The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}.
   &quot;objectsConfig&quot;: { # Configuration for the objects to be migrated. # Optional. The objects that need to be migrated.
     &quot;sourceObjectsConfig&quot;: { # List of configurations for the source objects to be migrated. # The list of the migration job objects.
@@ -563,6 +566,9 @@
   &quot;labels&quot;: { # The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of &quot;key&quot;: &quot;value&quot; pairs. Example: `{ &quot;name&quot;: &quot;wrench&quot;, &quot;mass&quot;: &quot;1.3kg&quot;, &quot;count&quot;: &quot;3&quot; }`.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
+  &quot;mysqlHomogeneousConfig&quot;: { # Configuration for MySQL to MySQL migrations. # Optional. Configuration for MySQL homogeneous migration.
+    &quot;isPrimaryDestination&quot;: True or False, # Optional. Whether the destination for the migration job is a primary instance.
+  },
   &quot;name&quot;: &quot;A String&quot;, # The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}.
   &quot;objectsConfig&quot;: { # Configuration for the objects to be migrated. # Optional. The objects that need to be migrated.
     &quot;sourceObjectsConfig&quot;: { # List of configurations for the source objects to be migrated. # The list of the migration job objects.
@@ -781,6 +787,9 @@
       &quot;labels&quot;: { # The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of &quot;key&quot;: &quot;value&quot; pairs. Example: `{ &quot;name&quot;: &quot;wrench&quot;, &quot;mass&quot;: &quot;1.3kg&quot;, &quot;count&quot;: &quot;3&quot; }`.
         &quot;a_key&quot;: &quot;A String&quot;,
       },
+      &quot;mysqlHomogeneousConfig&quot;: { # Configuration for MySQL to MySQL migrations. # Optional. Configuration for MySQL homogeneous migration.
+        &quot;isPrimaryDestination&quot;: True or False, # Optional. Whether the destination for the migration job is a primary instance.
+      },
       &quot;name&quot;: &quot;A String&quot;, # The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}.
       &quot;objectsConfig&quot;: { # Configuration for the objects to be migrated. # Optional. The objects that need to be migrated.
         &quot;sourceObjectsConfig&quot;: { # List of configurations for the source objects to be migrated. # The list of the migration job objects.
@@ -960,6 +969,9 @@
   &quot;labels&quot;: { # The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of &quot;key&quot;: &quot;value&quot; pairs. Example: `{ &quot;name&quot;: &quot;wrench&quot;, &quot;mass&quot;: &quot;1.3kg&quot;, &quot;count&quot;: &quot;3&quot; }`.
     &quot;a_key&quot;: &quot;A String&quot;,
   },
+  &quot;mysqlHomogeneousConfig&quot;: { # Configuration for MySQL to MySQL migrations. # Optional. Configuration for MySQL homogeneous migration.
+    &quot;isPrimaryDestination&quot;: True or False, # Optional. Whether the destination for the migration job is a primary instance.
+  },
   &quot;name&quot;: &quot;A String&quot;, # The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}.
   &quot;objectsConfig&quot;: { # Configuration for the objects to be migrated. # Optional. The objects that need to be migrated.
     &quot;sourceObjectsConfig&quot;: { # List of configurations for the source objects to be migrated. # The list of the migration job objects.
@@ -1504,6 +1516,9 @@
     &quot;labels&quot;: { # The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of &quot;key&quot;: &quot;value&quot; pairs. Example: `{ &quot;name&quot;: &quot;wrench&quot;, &quot;mass&quot;: &quot;1.3kg&quot;, &quot;count&quot;: &quot;3&quot; }`.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
+    &quot;mysqlHomogeneousConfig&quot;: { # Configuration for MySQL to MySQL migrations. # Optional. Configuration for MySQL homogeneous migration.
+      &quot;isPrimaryDestination&quot;: True or False, # Optional. Whether the destination for the migration job is a primary instance.
+    },
     &quot;name&quot;: &quot;A String&quot;, # The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}.
     &quot;objectsConfig&quot;: { # Configuration for the objects to be migrated. # Optional. The objects that need to be migrated.
       &quot;sourceObjectsConfig&quot;: { # List of configurations for the source objects to be migrated. # The list of the migration job objects.
diff --git a/docs/dyn/dataplex_v1.projects.locations.dataDomains.bindings.html b/docs/dyn/dataplex_v1.projects.locations.dataDomains.bindings.html
new file mode 100644
index 0000000..168a0b4
--- /dev/null
+++ b/docs/dyn/dataplex_v1.projects.locations.dataDomains.bindings.html
@@ -0,0 +1,250 @@
+<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="dataplex_v1.html">Cloud Dataplex API</a> . <a href="dataplex_v1.projects.html">projects</a> . <a href="dataplex_v1.projects.locations.html">locations</a> . <a href="dataplex_v1.projects.locations.dataDomains.html">dataDomains</a> . <a href="dataplex_v1.projects.locations.dataDomains.bindings.html">bindings</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, dataDomainBindingId=None, validateOnly=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a DataDomainBinding resource.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a DataDomainBinding resource.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Retrieves a DataDomainBinding resource.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists DataDomainBinding resources under a DataDomain.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</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, dataDomainBindingId=None, validateOnly=None, x__xgafv=None)</code>
+  <pre>Creates a DataDomainBinding resource.
+
+Args:
+  parent: string, Required. The resource name of the parent DataDomain: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # DataDomainBinding represents a rule that includes a Google Cloud resource and its contents into a DataDomain.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the DataDomainBinding was created.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The relative resource name of the DataDomainBinding. Format: projects/{project_id_or_number}/locations/{location}/dataDomains/{data_domain_id}/bindings/{binding_id}
+  &quot;resource&quot;: &quot;A String&quot;, # Required. Immutable. The full resource name of the Google Cloud resource to be bound (i.e. included together with its contents) to the DataDomain.Format: IAM Full resource name (https://docs.cloud.google.com/iam/docs/full-resource-names) Examples: - GCP Project: //cloudresourcemanager.googleapis.com/projects/{project-id} - BigQuery Dataset: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id} - BigQuery Table: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id} - Dataplex Data Product: //dataplex.googleapis.com/projects/{project-number}/locations/{location}/dataProducts/{data-product-id}Authorization: the resource to be bound must first grant an IAM role with the resource-specific setIamPolicy permission to the DataDomain. Example: - resource: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id} - IAM role: with bigquery.datasets.setIamPolicy permission (e.g. roles/owner) - IAM member: principal://dataplex.googleapis.com/projects/{project-number}/name/locations/{location}/dataDomains/{data-domain-id}
+  &quot;uid&quot;: &quot;A String&quot;, # Output only. System-generated unique ID.
+}
+
+  dataDomainBindingId: string, Optional. DataDomainBinding identifier. * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the parent DataDomain. If not provided, a system-generated UUID will be used.
+  validateOnly: boolean, Optional. Only validate the request, but do not perform mutations.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.
+  &quot;error&quot;: { # The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes a DataDomainBinding resource.
+
+Args:
+  name: string, Required. The resource name of the DataDomainBinding: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}/bindings/{binding_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.
+  &quot;error&quot;: { # The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Retrieves a DataDomainBinding resource.
+
+Args:
+  name: string, Required. The resource name of the DataDomainBinding: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}/bindings/{binding_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # DataDomainBinding represents a rule that includes a Google Cloud resource and its contents into a DataDomain.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the DataDomainBinding was created.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The relative resource name of the DataDomainBinding. Format: projects/{project_id_or_number}/locations/{location}/dataDomains/{data_domain_id}/bindings/{binding_id}
+  &quot;resource&quot;: &quot;A String&quot;, # Required. Immutable. The full resource name of the Google Cloud resource to be bound (i.e. included together with its contents) to the DataDomain.Format: IAM Full resource name (https://docs.cloud.google.com/iam/docs/full-resource-names) Examples: - GCP Project: //cloudresourcemanager.googleapis.com/projects/{project-id} - BigQuery Dataset: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id} - BigQuery Table: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id} - Dataplex Data Product: //dataplex.googleapis.com/projects/{project-number}/locations/{location}/dataProducts/{data-product-id}Authorization: the resource to be bound must first grant an IAM role with the resource-specific setIamPolicy permission to the DataDomain. Example: - resource: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id} - IAM role: with bigquery.datasets.setIamPolicy permission (e.g. roles/owner) - IAM member: principal://dataplex.googleapis.com/projects/{project-number}/name/locations/{location}/dataDomains/{data-domain-id}
+  &quot;uid&quot;: &quot;A String&quot;, # Output only. System-generated unique ID.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists DataDomainBinding resources under a DataDomain.
+
+Args:
+  parent: string, Required. The resource name of the parent DataDomain: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id} (required)
+  filter: string, Optional. Filter request.
+  orderBy: string, Optional. Order by fields for the result.
+  pageSize: integer, Optional. Maximum number of DataDomainBindings to return. The service may return fewer. If unspecified, at most 50 bindings will be returned. The maximum value is 100; values above 100 will be coerced to 100.
+  pageToken: string, Optional. Page token received from a previous ListDataDomainBindings call.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # List DataDomainBindings response.
+  &quot;dataDomainBindings&quot;: [ # DataDomainBindings under the given parent.
+    { # DataDomainBinding represents a rule that includes a Google Cloud resource and its contents into a DataDomain.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the DataDomainBinding was created.
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The relative resource name of the DataDomainBinding. Format: projects/{project_id_or_number}/locations/{location}/dataDomains/{data_domain_id}/bindings/{binding_id}
+      &quot;resource&quot;: &quot;A String&quot;, # Required. Immutable. The full resource name of the Google Cloud resource to be bound (i.e. included together with its contents) to the DataDomain.Format: IAM Full resource name (https://docs.cloud.google.com/iam/docs/full-resource-names) Examples: - GCP Project: //cloudresourcemanager.googleapis.com/projects/{project-id} - BigQuery Dataset: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id} - BigQuery Table: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id} - Dataplex Data Product: //dataplex.googleapis.com/projects/{project-number}/locations/{location}/dataProducts/{data-product-id}Authorization: the resource to be bound must first grant an IAM role with the resource-specific setIamPolicy permission to the DataDomain. Example: - resource: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id} - IAM role: with bigquery.datasets.setIamPolicy permission (e.g. roles/owner) - IAM member: principal://dataplex.googleapis.com/projects/{project-number}/name/locations/{location}/dataDomains/{data-domain-id}
+      &quot;uid&quot;: &quot;A String&quot;, # Output only. System-generated unique ID.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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/dataplex_v1.projects.locations.dataDomains.html b/docs/dyn/dataplex_v1.projects.locations.dataDomains.html
index 9ef37a3..0d0ebd5 100644
--- a/docs/dyn/dataplex_v1.projects.locations.dataDomains.html
+++ b/docs/dyn/dataplex_v1.projects.locations.dataDomains.html
@@ -75,12 +75,35 @@
 <h1><a href="dataplex_v1.html">Cloud Dataplex API</a> . <a href="dataplex_v1.projects.html">projects</a> . <a href="dataplex_v1.projects.locations.html">locations</a> . <a href="dataplex_v1.projects.locations.dataDomains.html">dataDomains</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="dataplex_v1.projects.locations.dataDomains.bindings.html">bindings()</a></code>
+</p>
+<p class="firstline">Returns the bindings 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="#create">create(parent, body=None, dataDomainId=None, validateOnly=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a DataDomain resource.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes a DataDomain resource (allowed only when there are no bindings).</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Retrieves a DataDomain resource.</p>
+<p class="toc_element">
   <code><a href="#getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.</p>
 <p class="toc_element">
+  <code><a href="#list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Lists DataDomain resources in a project and location.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</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, validateOnly=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates a DataDomain resource.</p>
+<p class="toc_element">
   <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.</p>
 <p class="toc_element">
@@ -93,6 +116,140 @@
 </div>
 
 <div class="method">
+    <code class="details" id="create">create(parent, body=None, dataDomainId=None, validateOnly=None, x__xgafv=None)</code>
+  <pre>Creates a DataDomain resource.
+
+Args:
+  parent: string, Required. The resource name of the parent location: projects/{project_id_or_number}/locations/{location_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A DataDomain is a logical grouping of data resources for governance, discovery, and management at scale.
+  &quot;contacts&quot;: { # Business contacts part of business context of a Data Domain. Corresponds to the Contacts Aspect in Dataplex Universal Catalog. # Required. Contact info for the Data Domains.
+    &quot;identities&quot;: [ # Required. Identities of the business contacts.
+      { # Identity of a business contact.
+        &quot;contactId&quot;: &quot;A String&quot;, # Optional. Email ID or freeform ID of the Contact person.
+        &quot;contactName&quot;: &quot;A String&quot;, # Required. Name of the contact person for the Data Domain; unvalidated freeform text.
+        &quot;contactRole&quot;: &quot;A String&quot;, # Required. Designation of the person i.e. Data Steward or Data Analyst. Example values: owner, steward, producer, admin.
+      },
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the DataDomain was created.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. User-provided description of the DataDomain.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. User-friendly display name.
+  &quot;labels&quot;: { # Optional. User-defined labels for the DataDomain.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The relative resource name of the DataDomain, of the form: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}
+  &quot;parentDataDomain&quot;: &quot;A String&quot;, # Optional. Immutable. The resource name of the parent DataDomain. Empty if this is a top-level DataDomain. Format: projects/{project_id_or_number}/locations/{location}/dataDomains/{parent_data_domain_id} This field is immutable after creation.
+  &quot;uid&quot;: &quot;A String&quot;, # Output only. System-generated globally unique ID for the DataDomain.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the DataDomain was last updated.
+}
+
+  dataDomainId: string, Required. DataDomain identifier. * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project and location.
+  validateOnly: boolean, Optional. Only validate the request, but do not perform mutations.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.
+  &quot;error&quot;: { # The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes a DataDomain resource (allowed only when there are no bindings).
+
+Args:
+  name: string, Required. The resource name of the DataDomain: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.
+  &quot;error&quot;: { # The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Retrieves a DataDomain resource.
+
+Args:
+  name: string, Required. The resource name of the DataDomain: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A DataDomain is a logical grouping of data resources for governance, discovery, and management at scale.
+  &quot;contacts&quot;: { # Business contacts part of business context of a Data Domain. Corresponds to the Contacts Aspect in Dataplex Universal Catalog. # Required. Contact info for the Data Domains.
+    &quot;identities&quot;: [ # Required. Identities of the business contacts.
+      { # Identity of a business contact.
+        &quot;contactId&quot;: &quot;A String&quot;, # Optional. Email ID or freeform ID of the Contact person.
+        &quot;contactName&quot;: &quot;A String&quot;, # Required. Name of the contact person for the Data Domain; unvalidated freeform text.
+        &quot;contactRole&quot;: &quot;A String&quot;, # Required. Designation of the person i.e. Data Steward or Data Analyst. Example values: owner, steward, producer, admin.
+      },
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the DataDomain was created.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. User-provided description of the DataDomain.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. User-friendly display name.
+  &quot;labels&quot;: { # Optional. User-defined labels for the DataDomain.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The relative resource name of the DataDomain, of the form: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}
+  &quot;parentDataDomain&quot;: &quot;A String&quot;, # Optional. Immutable. The resource name of the parent DataDomain. Empty if this is a top-level DataDomain. Format: projects/{project_id_or_number}/locations/{location}/dataDomains/{parent_data_domain_id} This field is immutable after creation.
+  &quot;uid&quot;: &quot;A String&quot;, # Output only. System-generated globally unique ID for the DataDomain.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the DataDomain was last updated.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</code>
   <pre>Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.
 
@@ -141,6 +298,128 @@
 </div>
 
 <div class="method">
+    <code class="details" id="list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists DataDomain resources in a project and location.
+
+Args:
+  parent: string, Required. The resource name of the parent location: projects/{project_id_or_number}/locations/{location_id} (required)
+  filter: string, Optional. Filter request. Supports filter by parent_data_domain.
+  orderBy: string, Optional. Order by fields for the result.
+  pageSize: integer, Optional. Maximum number of DataDomains to return. The service may return fewer. If unspecified, at most 50 domains will be returned. The maximum value is 100; values above 100 will be coerced to 100.
+  pageToken: string, Optional. Page token received from a previous ListDataDomains call.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # List DataDomains response.
+  &quot;dataDomains&quot;: [ # DataDomains under the given parent.
+    { # A DataDomain is a logical grouping of data resources for governance, discovery, and management at scale.
+      &quot;contacts&quot;: { # Business contacts part of business context of a Data Domain. Corresponds to the Contacts Aspect in Dataplex Universal Catalog. # Required. Contact info for the Data Domains.
+        &quot;identities&quot;: [ # Required. Identities of the business contacts.
+          { # Identity of a business contact.
+            &quot;contactId&quot;: &quot;A String&quot;, # Optional. Email ID or freeform ID of the Contact person.
+            &quot;contactName&quot;: &quot;A String&quot;, # Required. Name of the contact person for the Data Domain; unvalidated freeform text.
+            &quot;contactRole&quot;: &quot;A String&quot;, # Required. Designation of the person i.e. Data Steward or Data Analyst. Example values: owner, steward, producer, admin.
+          },
+        ],
+      },
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the DataDomain was created.
+      &quot;description&quot;: &quot;A String&quot;, # Optional. User-provided description of the DataDomain.
+      &quot;displayName&quot;: &quot;A String&quot;, # Required. User-friendly display name.
+      &quot;labels&quot;: { # Optional. User-defined labels for the DataDomain.
+        &quot;a_key&quot;: &quot;A String&quot;,
+      },
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The relative resource name of the DataDomain, of the form: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}
+      &quot;parentDataDomain&quot;: &quot;A String&quot;, # Optional. Immutable. The resource name of the parent DataDomain. Empty if this is a top-level DataDomain. Format: projects/{project_id_or_number}/locations/{location}/dataDomains/{parent_data_domain_id} This field is immutable after creation.
+      &quot;uid&quot;: &quot;A String&quot;, # Output only. System-generated globally unique ID for the DataDomain.
+      &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the DataDomain was last updated.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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, validateOnly=None, x__xgafv=None)</code>
+  <pre>Updates a DataDomain resource.
+
+Args:
+  name: string, Identifier. The relative resource name of the DataDomain, of the form: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A DataDomain is a logical grouping of data resources for governance, discovery, and management at scale.
+  &quot;contacts&quot;: { # Business contacts part of business context of a Data Domain. Corresponds to the Contacts Aspect in Dataplex Universal Catalog. # Required. Contact info for the Data Domains.
+    &quot;identities&quot;: [ # Required. Identities of the business contacts.
+      { # Identity of a business contact.
+        &quot;contactId&quot;: &quot;A String&quot;, # Optional. Email ID or freeform ID of the Contact person.
+        &quot;contactName&quot;: &quot;A String&quot;, # Required. Name of the contact person for the Data Domain; unvalidated freeform text.
+        &quot;contactRole&quot;: &quot;A String&quot;, # Required. Designation of the person i.e. Data Steward or Data Analyst. Example values: owner, steward, producer, admin.
+      },
+    ],
+  },
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the DataDomain was created.
+  &quot;description&quot;: &quot;A String&quot;, # Optional. User-provided description of the DataDomain.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. User-friendly display name.
+  &quot;labels&quot;: { # Optional. User-defined labels for the DataDomain.
+    &quot;a_key&quot;: &quot;A String&quot;,
+  },
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The relative resource name of the DataDomain, of the form: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}
+  &quot;parentDataDomain&quot;: &quot;A String&quot;, # Optional. Immutable. The resource name of the parent DataDomain. Empty if this is a top-level DataDomain. Format: projects/{project_id_or_number}/locations/{location}/dataDomains/{parent_data_domain_id} This field is immutable after creation.
+  &quot;uid&quot;: &quot;A String&quot;, # Output only. System-generated globally unique ID for the DataDomain.
+  &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time at which the DataDomain was last updated.
+}
+
+  updateMask: string, Optional. Mask of fields to update.
+  validateOnly: boolean, Optional. Only validate the request, but do not perform mutations.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is false, it means the operation is still in progress. If true, the operation is completed, and either error or response is available.
+  &quot;error&quot;: { # The Status type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by gRPC (https://github.com/grpc). Each Status message contains three pieces of data: error code, error message, and error details.You can find out more about this error model and how to work with it in the API Design Guide (https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the name should be a resource name ending with operations/{unique_id}.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as Delete, the response is google.protobuf.Empty. If the original method is standard Get/Create/Update, the response should be the resource. For other methods, the response should have the type XxxResponse, where Xxx is the original method name. For example, if the original method name is TakeSnapshot(), the inferred response type is TakeSnapshotResponse.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</code>
   <pre>Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.
 
diff --git a/docs/dyn/dataplex_v1.projects.locations.dataScans.html b/docs/dyn/dataplex_v1.projects.locations.dataScans.html
index a4c8745..8e85efd 100644
--- a/docs/dyn/dataplex_v1.projects.locations.dataScans.html
+++ b/docs/dyn/dataplex_v1.projects.locations.dataScans.html
@@ -179,6 +179,7 @@
         &quot;typeInferenceDisabled&quot;: True or False, # Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean).
       },
       &quot;unstructuredDataOptions&quot;: { # Describes options for unstructured data discovery. # Optional. Specifies configuration for unstructured data discovery.
+        &quot;globalEndpointEnabled&quot;: True or False, # Optional. Whether to use the global model endpoint.
         &quot;semanticInferenceEnabled&quot;: True or False, # Optional. Specifies whether deeper semantic inference over the objects&#x27; contents using GenAI is enabled.
       },
     },
@@ -987,6 +988,7 @@
         &quot;typeInferenceDisabled&quot;: True or False, # Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean).
       },
       &quot;unstructuredDataOptions&quot;: { # Describes options for unstructured data discovery. # Optional. Specifies configuration for unstructured data discovery.
+        &quot;globalEndpointEnabled&quot;: True or False, # Optional. Whether to use the global model endpoint.
         &quot;semanticInferenceEnabled&quot;: True or False, # Optional. Specifies whether deeper semantic inference over the objects&#x27; contents using GenAI is enabled.
       },
     },
@@ -1658,6 +1660,7 @@
             &quot;typeInferenceDisabled&quot;: True or False, # Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean).
           },
           &quot;unstructuredDataOptions&quot;: { # Describes options for unstructured data discovery. # Optional. Specifies configuration for unstructured data discovery.
+            &quot;globalEndpointEnabled&quot;: True or False, # Optional. Whether to use the global model endpoint.
             &quot;semanticInferenceEnabled&quot;: True or False, # Optional. Specifies whether deeper semantic inference over the objects&#x27; contents using GenAI is enabled.
           },
         },
@@ -2290,6 +2293,7 @@
         &quot;typeInferenceDisabled&quot;: True or False, # Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean).
       },
       &quot;unstructuredDataOptions&quot;: { # Describes options for unstructured data discovery. # Optional. Specifies configuration for unstructured data discovery.
+        &quot;globalEndpointEnabled&quot;: True or False, # Optional. Whether to use the global model endpoint.
         &quot;semanticInferenceEnabled&quot;: True or False, # Optional. Specifies whether deeper semantic inference over the objects&#x27; contents using GenAI is enabled.
       },
     },
@@ -2940,6 +2944,7 @@
           &quot;typeInferenceDisabled&quot;: True or False, # Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean).
         },
         &quot;unstructuredDataOptions&quot;: { # Describes options for unstructured data discovery. # Optional. Specifies configuration for unstructured data discovery.
+          &quot;globalEndpointEnabled&quot;: True or False, # Optional. Whether to use the global model endpoint.
           &quot;semanticInferenceEnabled&quot;: True or False, # Optional. Specifies whether deeper semantic inference over the objects&#x27; contents using GenAI is enabled.
         },
       },
diff --git a/docs/dyn/dataplex_v1.projects.locations.dataScans.jobs.html b/docs/dyn/dataplex_v1.projects.locations.dataScans.jobs.html
index c65d148..81c85a8 100644
--- a/docs/dyn/dataplex_v1.projects.locations.dataScans.jobs.html
+++ b/docs/dyn/dataplex_v1.projects.locations.dataScans.jobs.html
@@ -306,6 +306,7 @@
         &quot;typeInferenceDisabled&quot;: True or False, # Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean).
       },
       &quot;unstructuredDataOptions&quot;: { # Describes options for unstructured data discovery. # Optional. Specifies configuration for unstructured data discovery.
+        &quot;globalEndpointEnabled&quot;: True or False, # Optional. Whether to use the global model endpoint.
         &quot;semanticInferenceEnabled&quot;: True or False, # Optional. Specifies whether deeper semantic inference over the objects&#x27; contents using GenAI is enabled.
       },
     },
@@ -895,6 +896,7 @@
             &quot;typeInferenceDisabled&quot;: True or False, # Optional. Whether to disable the inference of data types for JSON data. If true, all columns are registered as their primitive types (strings, number, or boolean).
           },
           &quot;unstructuredDataOptions&quot;: { # Describes options for unstructured data discovery. # Optional. Specifies configuration for unstructured data discovery.
+            &quot;globalEndpointEnabled&quot;: True or False, # Optional. Whether to use the global model endpoint.
             &quot;semanticInferenceEnabled&quot;: True or False, # Optional. Specifies whether deeper semantic inference over the objects&#x27; contents using GenAI is enabled.
           },
         },
diff --git a/docs/dyn/datastream_v1.projects.locations.connectionProfiles.html b/docs/dyn/datastream_v1.projects.locations.connectionProfiles.html
index 4f13159..337a3f5 100644
--- a/docs/dyn/datastream_v1.projects.locations.connectionProfiles.html
+++ b/docs/dyn/datastream_v1.projects.locations.connectionProfiles.html
@@ -260,7 +260,7 @@
       &quot;clientSecret&quot;: &quot;A String&quot;, # Optional. Client secret for Salesforce OAuth2 Client Credentials. Mutually exclusive with the `secret_manager_stored_client_secret` field.
       &quot;secretManagerStoredClientSecret&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce OAuth2 client_secret. Mutually exclusive with the `client_secret` field.
     },
-    &quot;userCredentials&quot;: { # Username-password credentials. # User-password authentication.
+    &quot;userCredentials&quot;: { # Deprecated: Salesforce is retiring Username-Password authentication. Use `Oauth2ClientCredentials` instead. # Deprecated: Salesforce is retiring Username-Password authentication. Use `oauth2_client_credentials` instead.
       &quot;password&quot;: &quot;A String&quot;, # Optional. Password for the Salesforce connection. Mutually exclusive with the `secret_manager_stored_password` field.
       &quot;secretManagerStoredPassword&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce connection&#x27;s password. Mutually exclusive with the `password` field.
       &quot;secretManagerStoredSecurityToken&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce connection&#x27;s security token. Mutually exclusive with the `security_token` field.
@@ -540,7 +540,7 @@
         &quot;clientSecret&quot;: &quot;A String&quot;, # Optional. Client secret for Salesforce OAuth2 Client Credentials. Mutually exclusive with the `secret_manager_stored_client_secret` field.
         &quot;secretManagerStoredClientSecret&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce OAuth2 client_secret. Mutually exclusive with the `client_secret` field.
       },
-      &quot;userCredentials&quot;: { # Username-password credentials. # User-password authentication.
+      &quot;userCredentials&quot;: { # Deprecated: Salesforce is retiring Username-Password authentication. Use `Oauth2ClientCredentials` instead. # Deprecated: Salesforce is retiring Username-Password authentication. Use `oauth2_client_credentials` instead.
         &quot;password&quot;: &quot;A String&quot;, # Optional. Password for the Salesforce connection. Mutually exclusive with the `secret_manager_stored_password` field.
         &quot;secretManagerStoredPassword&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce connection&#x27;s password. Mutually exclusive with the `password` field.
         &quot;secretManagerStoredSecurityToken&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce connection&#x27;s security token. Mutually exclusive with the `security_token` field.
@@ -1101,7 +1101,7 @@
       &quot;clientSecret&quot;: &quot;A String&quot;, # Optional. Client secret for Salesforce OAuth2 Client Credentials. Mutually exclusive with the `secret_manager_stored_client_secret` field.
       &quot;secretManagerStoredClientSecret&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce OAuth2 client_secret. Mutually exclusive with the `client_secret` field.
     },
-    &quot;userCredentials&quot;: { # Username-password credentials. # User-password authentication.
+    &quot;userCredentials&quot;: { # Deprecated: Salesforce is retiring Username-Password authentication. Use `Oauth2ClientCredentials` instead. # Deprecated: Salesforce is retiring Username-Password authentication. Use `oauth2_client_credentials` instead.
       &quot;password&quot;: &quot;A String&quot;, # Optional. Password for the Salesforce connection. Mutually exclusive with the `secret_manager_stored_password` field.
       &quot;secretManagerStoredPassword&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce connection&#x27;s password. Mutually exclusive with the `password` field.
       &quot;secretManagerStoredSecurityToken&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce connection&#x27;s security token. Mutually exclusive with the `security_token` field.
@@ -1323,7 +1323,7 @@
           &quot;clientSecret&quot;: &quot;A String&quot;, # Optional. Client secret for Salesforce OAuth2 Client Credentials. Mutually exclusive with the `secret_manager_stored_client_secret` field.
           &quot;secretManagerStoredClientSecret&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce OAuth2 client_secret. Mutually exclusive with the `client_secret` field.
         },
-        &quot;userCredentials&quot;: { # Username-password credentials. # User-password authentication.
+        &quot;userCredentials&quot;: { # Deprecated: Salesforce is retiring Username-Password authentication. Use `Oauth2ClientCredentials` instead. # Deprecated: Salesforce is retiring Username-Password authentication. Use `oauth2_client_credentials` instead.
           &quot;password&quot;: &quot;A String&quot;, # Optional. Password for the Salesforce connection. Mutually exclusive with the `secret_manager_stored_password` field.
           &quot;secretManagerStoredPassword&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce connection&#x27;s password. Mutually exclusive with the `password` field.
           &quot;secretManagerStoredSecurityToken&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce connection&#x27;s security token. Mutually exclusive with the `security_token` field.
@@ -1554,7 +1554,7 @@
       &quot;clientSecret&quot;: &quot;A String&quot;, # Optional. Client secret for Salesforce OAuth2 Client Credentials. Mutually exclusive with the `secret_manager_stored_client_secret` field.
       &quot;secretManagerStoredClientSecret&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce OAuth2 client_secret. Mutually exclusive with the `client_secret` field.
     },
-    &quot;userCredentials&quot;: { # Username-password credentials. # User-password authentication.
+    &quot;userCredentials&quot;: { # Deprecated: Salesforce is retiring Username-Password authentication. Use `Oauth2ClientCredentials` instead. # Deprecated: Salesforce is retiring Username-Password authentication. Use `oauth2_client_credentials` instead.
       &quot;password&quot;: &quot;A String&quot;, # Optional. Password for the Salesforce connection. Mutually exclusive with the `secret_manager_stored_password` field.
       &quot;secretManagerStoredPassword&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce connection&#x27;s password. Mutually exclusive with the `password` field.
       &quot;secretManagerStoredSecurityToken&quot;: &quot;A String&quot;, # Optional. A reference to a Secret Manager resource name storing the Salesforce connection&#x27;s security token. Mutually exclusive with the `security_token` field.
diff --git a/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html b/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html
index 25664fb..5359668 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.conversationProfiles.html
@@ -172,10 +172,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -247,10 +243,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -424,10 +416,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -499,10 +487,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -701,10 +685,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -776,10 +756,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -964,10 +940,6 @@
           &quot;enableAsyncToolCall&quot;: True or False,
           &quot;featureConfigs&quot;: [
             {
-              &quot;conversationModelConfig&quot;: {
-                &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-                &quot;model&quot;: &quot;A String&quot;,
-              },
               &quot;conversationProcessConfig&quot;: {
                 &quot;recentSentencesCount&quot;: 42,
               },
@@ -1039,10 +1011,6 @@
           &quot;enableAsyncToolCall&quot;: True or False,
           &quot;featureConfigs&quot;: [
             {
-              &quot;conversationModelConfig&quot;: {
-                &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-                &quot;model&quot;: &quot;A String&quot;,
-              },
               &quot;conversationProcessConfig&quot;: {
                 &quot;recentSentencesCount&quot;: 42,
               },
@@ -1235,10 +1203,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -1310,10 +1274,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -1488,10 +1448,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -1563,10 +1519,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -1732,10 +1684,6 @@
 {
   &quot;participantRole&quot;: &quot;A String&quot;,
   &quot;suggestionFeatureConfig&quot;: {
-    &quot;conversationModelConfig&quot;: {
-      &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-      &quot;model&quot;: &quot;A String&quot;,
-    },
     &quot;conversationProcessConfig&quot;: {
       &quot;recentSentencesCount&quot;: 42,
     },
diff --git a/docs/dyn/dialogflow_v2beta1.projects.conversations.html b/docs/dyn/dialogflow_v2beta1.projects.conversations.html
index befe5fa..0b905c0 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.conversations.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.conversations.html
@@ -165,10 +165,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -240,10 +236,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -467,10 +459,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -542,10 +530,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -768,10 +752,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -843,10 +823,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -1075,10 +1051,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -1150,10 +1122,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -1387,10 +1355,6 @@
             &quot;enableAsyncToolCall&quot;: True or False,
             &quot;featureConfigs&quot;: [
               {
-                &quot;conversationModelConfig&quot;: {
-                  &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-                  &quot;model&quot;: &quot;A String&quot;,
-                },
                 &quot;conversationProcessConfig&quot;: {
                   &quot;recentSentencesCount&quot;: 42,
                 },
@@ -1462,10 +1426,6 @@
             &quot;enableAsyncToolCall&quot;: True or False,
             &quot;featureConfigs&quot;: [
               {
-                &quot;conversationModelConfig&quot;: {
-                  &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-                  &quot;model&quot;: &quot;A String&quot;,
-                },
                 &quot;conversationProcessConfig&quot;: {
                   &quot;recentSentencesCount&quot;: 42,
                 },
diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html b/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html
index 201fcfd..b05943b 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.locations.conversationProfiles.html
@@ -172,10 +172,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -247,10 +243,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -424,10 +416,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -499,10 +487,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -701,10 +685,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -776,10 +756,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -964,10 +940,6 @@
           &quot;enableAsyncToolCall&quot;: True or False,
           &quot;featureConfigs&quot;: [
             {
-              &quot;conversationModelConfig&quot;: {
-                &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-                &quot;model&quot;: &quot;A String&quot;,
-              },
               &quot;conversationProcessConfig&quot;: {
                 &quot;recentSentencesCount&quot;: 42,
               },
@@ -1039,10 +1011,6 @@
           &quot;enableAsyncToolCall&quot;: True or False,
           &quot;featureConfigs&quot;: [
             {
-              &quot;conversationModelConfig&quot;: {
-                &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-                &quot;model&quot;: &quot;A String&quot;,
-              },
               &quot;conversationProcessConfig&quot;: {
                 &quot;recentSentencesCount&quot;: 42,
               },
@@ -1235,10 +1203,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -1310,10 +1274,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -1488,10 +1448,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -1563,10 +1519,6 @@
       &quot;enableAsyncToolCall&quot;: True or False,
       &quot;featureConfigs&quot;: [
         {
-          &quot;conversationModelConfig&quot;: {
-            &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-            &quot;model&quot;: &quot;A String&quot;,
-          },
           &quot;conversationProcessConfig&quot;: {
             &quot;recentSentencesCount&quot;: 42,
           },
@@ -1732,10 +1684,6 @@
 {
   &quot;participantRole&quot;: &quot;A String&quot;,
   &quot;suggestionFeatureConfig&quot;: {
-    &quot;conversationModelConfig&quot;: {
-      &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-      &quot;model&quot;: &quot;A String&quot;,
-    },
     &quot;conversationProcessConfig&quot;: {
       &quot;recentSentencesCount&quot;: 42,
     },
diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.html b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.html
index ca3bd8e..d8ed298 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.locations.conversations.html
@@ -168,10 +168,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -243,10 +239,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -470,10 +462,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -545,10 +533,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -771,10 +755,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -846,10 +826,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -1078,10 +1054,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -1153,10 +1125,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -1444,10 +1412,6 @@
             &quot;enableAsyncToolCall&quot;: True or False,
             &quot;featureConfigs&quot;: [
               {
-                &quot;conversationModelConfig&quot;: {
-                  &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-                  &quot;model&quot;: &quot;A String&quot;,
-                },
                 &quot;conversationProcessConfig&quot;: {
                   &quot;recentSentencesCount&quot;: 42,
                 },
@@ -1519,10 +1483,6 @@
             &quot;enableAsyncToolCall&quot;: True or False,
             &quot;featureConfigs&quot;: [
               {
-                &quot;conversationModelConfig&quot;: {
-                  &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-                  &quot;model&quot;: &quot;A String&quot;,
-                },
                 &quot;conversationProcessConfig&quot;: {
                   &quot;recentSentencesCount&quot;: 42,
                 },
diff --git a/docs/dyn/dialogflow_v2beta1.projects.locations.suggestions.html b/docs/dyn/dialogflow_v2beta1.projects.locations.suggestions.html
index a63e1a4..c863710 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.locations.suggestions.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.locations.suggestions.html
@@ -112,10 +112,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -187,10 +183,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
diff --git a/docs/dyn/dialogflow_v2beta1.projects.suggestions.html b/docs/dyn/dialogflow_v2beta1.projects.suggestions.html
index 45d9897..0d86854 100644
--- a/docs/dyn/dialogflow_v2beta1.projects.suggestions.html
+++ b/docs/dyn/dialogflow_v2beta1.projects.suggestions.html
@@ -112,10 +112,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
@@ -187,10 +183,6 @@
         &quot;enableAsyncToolCall&quot;: True or False,
         &quot;featureConfigs&quot;: [
           {
-            &quot;conversationModelConfig&quot;: {
-              &quot;baselineModelVersion&quot;: &quot;A String&quot;,
-              &quot;model&quot;: &quot;A String&quot;,
-            },
             &quot;conversationProcessConfig&quot;: {
               &quot;recentSentencesCount&quot;: 42,
             },
diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.widgetConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.widgetConfigs.html
index 65f6ed5..525d1a4 100644
--- a/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.widgetConfigs.html
+++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.dataStores.widgetConfigs.html
@@ -307,7 +307,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
@@ -554,7 +554,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
@@ -800,7 +800,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.assistants.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.assistants.html
index cf49e94..5cd9fcc 100644
--- a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.assistants.html
+++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.assistants.html
@@ -662,6 +662,12 @@
     &quot;state&quot;: &quot;A String&quot;, # State of the answer generation.
   },
   &quot;assistToken&quot;: &quot;A String&quot;, # A global unique ID that identifies the current pair of request and stream of responses. Used for feedback and support.
+  &quot;connectorAuthErrors&quot;: [ # Per-connector authentication errors encountered during the request. Present when one or more connectors failed authentication but the request proceeded with the remaining connectors.
+    { # Describes an authentication error for a specific data connector.
+      &quot;dataConnector&quot;: &quot;A String&quot;, # Resource name of the data connector that failed authentication.
+      &quot;errorMessage&quot;: &quot;A String&quot;, # Human-readable error message describing the auth failure.
+    },
+  ],
   &quot;invocationTools&quot;: [ # The tool names of the tools that were invoked.
     &quot;A String&quot;,
   ],
diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.html
index cc94382..5759321 100644
--- a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.html
+++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.html
@@ -163,6 +163,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -203,7 +204,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -349,6 +350,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -389,7 +391,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -511,6 +513,7 @@
         },
       },
       &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+      &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
       &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
         &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
           &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -551,7 +554,7 @@
       ],
       &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
       &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-      &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+      &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -645,6 +648,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -685,7 +689,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -761,6 +765,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -801,7 +806,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
diff --git a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.widgetConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.widgetConfigs.html
index 4fe28bd..10f6ebb 100644
--- a/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.widgetConfigs.html
+++ b/docs/dyn/discoveryengine_v1.projects.locations.collections.engines.widgetConfigs.html
@@ -307,7 +307,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
@@ -554,7 +554,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
@@ -800,7 +800,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
diff --git a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.widgetConfigs.html b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.widgetConfigs.html
index 9e432c3..85fbefc 100644
--- a/docs/dyn/discoveryengine_v1.projects.locations.dataStores.widgetConfigs.html
+++ b/docs/dyn/discoveryengine_v1.projects.locations.dataStores.widgetConfigs.html
@@ -307,7 +307,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
@@ -554,7 +554,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
@@ -800,7 +800,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
diff --git a/docs/dyn/discoveryengine_v1.projects.locations.userStores.userLicenses.html b/docs/dyn/discoveryengine_v1.projects.locations.userStores.userLicenses.html
index 0a5f9c2..549c177 100644
--- a/docs/dyn/discoveryengine_v1.projects.locations.userStores.userLicenses.html
+++ b/docs/dyn/discoveryengine_v1.projects.locations.userStores.userLicenses.html
@@ -97,7 +97,7 @@
   parent: string, Required. The parent UserStore resource name, format: `projects/{project}/locations/{location}/userStores/{user_store_id}`. (required)
   filter: string, Optional. Filter for the list request. Supported fields: * `license_assignment_state` * `user_principal` * Examples: * `license_assignment_state = ASSIGNED` to list assigned user licenses. * `license_assignment_state = NO_LICENSE` to list not licensed users. * `license_assignment_state = NO_LICENSE_ATTEMPTED_LOGIN` to list users who attempted login but no license assigned. * `license_assignment_state != NO_LICENSE_ATTEMPTED_LOGIN` to filter out users who attempted login but no license assigned. * `user_principal = user1@example.com` to list user license for `user1@example.com`.
   orderBy: string, Optional. The order in which the UserLicenses are listed. The value must be a comma-separated list of fields. Default sorting order is ascending. To specify descending order for a field, append a &quot; desc&quot; suffix. Redundant space characters in the syntax are insignificant. Supported fields (only `user_principal` is supported for now): * `user_principal` If not set, the default ordering is by `user_principal`. Examples: * `user_principal` to order by `user_principal` in ascending order. * `user_principal desc` to order by `user_principal` in descending order.
-  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, defaults to 10. The maximum value is 50; values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT error is returned.
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, defaults to 100. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.
   pageToken: string, Optional. A page token, received from a previous `ListUserLicenses` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserLicenses` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.widgetConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.widgetConfigs.html
index f813e74..13dba19 100644
--- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.widgetConfigs.html
+++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.dataStores.widgetConfigs.html
@@ -312,7 +312,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
@@ -569,7 +569,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
@@ -825,7 +825,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.html
index 2aab339..ec716c4 100644
--- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.html
+++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.assistants.html
@@ -740,6 +740,12 @@
     &quot;state&quot;: &quot;A String&quot;, # State of the answer generation.
   },
   &quot;assistToken&quot;: &quot;A String&quot;, # A global unique ID that identifies the current pair of request and stream of responses. Used for feedback and support.
+  &quot;connectorAuthErrors&quot;: [ # Per-connector authentication errors encountered during the request. Present when one or more connectors failed authentication but the request proceeded with the remaining connectors.
+    { # Describes an authentication error for a specific data connector.
+      &quot;dataConnector&quot;: &quot;A String&quot;, # Resource name of the data connector that failed authentication.
+      &quot;errorMessage&quot;: &quot;A String&quot;, # Human-readable error message describing the auth failure.
+    },
+  ],
   &quot;invocationTools&quot;: [ # The tool names of the tools that were invoked.
     &quot;A String&quot;,
   ],
diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.html
index 2b30f45..a9d274f 100644
--- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.html
+++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.html
@@ -186,6 +186,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -226,7 +227,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -381,6 +382,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -421,7 +423,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -600,6 +602,7 @@
         },
       },
       &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+      &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
       &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
         &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
           &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -640,7 +643,7 @@
       ],
       &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
       &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-      &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+      &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -743,6 +746,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -783,7 +787,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -868,6 +872,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -908,7 +913,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -1005,6 +1010,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -1045,7 +1051,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -1142,6 +1148,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -1182,7 +1189,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.widgetConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.widgetConfigs.html
index 386b43c..43d9ece 100644
--- a/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.widgetConfigs.html
+++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.collections.engines.widgetConfigs.html
@@ -312,7 +312,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
@@ -569,7 +569,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
@@ -825,7 +825,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.widgetConfigs.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.widgetConfigs.html
index 2c616e5..dd0d17e 100644
--- a/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.widgetConfigs.html
+++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.dataStores.widgetConfigs.html
@@ -312,7 +312,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
@@ -569,7 +569,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
@@ -825,7 +825,7 @@
     &quot;enableSafeSearch&quot;: True or False, # Whether to enable safe search.
     &quot;enableSearchAsYouType&quot;: True or False, # Whether to enable search-as-you-type behavior for the search widget.
     &quot;enableVisualContentSummary&quot;: True or False, # If set to true, the widget will enable visual content summary on applicable search requests. Only used by healthcare search.
-    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+    &quot;features&quot;: { # Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;generativeAnswerConfig&quot;: { # Describes configuration for generative answer. # Describes generative answer configuration.
diff --git a/docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.userLicenses.html b/docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.userLicenses.html
index 27f662c..c9230c6 100644
--- a/docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.userLicenses.html
+++ b/docs/dyn/discoveryengine_v1alpha.projects.locations.userStores.userLicenses.html
@@ -97,7 +97,7 @@
   parent: string, Required. The parent UserStore resource name, format: `projects/{project}/locations/{location}/userStores/{user_store_id}`. (required)
   filter: string, Optional. Filter for the list request. Supported fields: * `license_assignment_state` * `user_principal` * Examples: * `license_assignment_state = ASSIGNED` to list assigned user licenses. * `license_assignment_state = NO_LICENSE` to list not licensed users. * `license_assignment_state = NO_LICENSE_ATTEMPTED_LOGIN` to list users who attempted login but no license assigned. * `license_assignment_state != NO_LICENSE_ATTEMPTED_LOGIN` to filter out users who attempted login but no license assigned. * `user_principal = user1@example.com` to list user license for `user1@example.com`.
   orderBy: string, Optional. The order in which the UserLicenses are listed. The value must be a comma-separated list of fields. Default sorting order is ascending. To specify descending order for a field, append a &quot; desc&quot; suffix. Redundant space characters in the syntax are insignificant. Supported fields (only `user_principal` is supported for now): * `user_principal` If not set, the default ordering is by `user_principal`. Examples: * `user_principal` to order by `user_principal` in ascending order. * `user_principal desc` to order by `user_principal` in descending order.
-  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, defaults to 10. The maximum value is 50; values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT error is returned.
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, defaults to 100. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.
   pageToken: string, Optional. A page token, received from a previous `ListUserLicenses` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserLicenses` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.assistants.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.assistants.html
index f4993e6..141a6cd 100644
--- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.assistants.html
+++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.assistants.html
@@ -662,6 +662,12 @@
     &quot;state&quot;: &quot;A String&quot;, # State of the answer generation.
   },
   &quot;assistToken&quot;: &quot;A String&quot;, # A global unique ID that identifies the current pair of request and stream of responses. Used for feedback and support.
+  &quot;connectorAuthErrors&quot;: [ # Per-connector authentication errors encountered during the request. Present when one or more connectors failed authentication but the request proceeded with the remaining connectors.
+    { # Describes an authentication error for a specific data connector.
+      &quot;dataConnector&quot;: &quot;A String&quot;, # Resource name of the data connector that failed authentication.
+      &quot;errorMessage&quot;: &quot;A String&quot;, # Human-readable error message describing the auth failure.
+    },
+  ],
   &quot;invocationTools&quot;: [ # The tool names of the tools that were invoked.
     &quot;A String&quot;,
   ],
diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.html b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.html
index 8805f1c..ffd2cce 100644
--- a/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.html
+++ b/docs/dyn/discoveryengine_v1beta.projects.locations.collections.engines.html
@@ -167,6 +167,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -207,7 +208,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -353,6 +354,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -393,7 +395,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -515,6 +517,7 @@
         },
       },
       &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+      &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
       &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
         &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
           &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -555,7 +558,7 @@
       ],
       &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
       &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-      &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+      &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -649,6 +652,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -689,7 +693,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -765,6 +769,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -805,7 +810,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -893,6 +898,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -933,7 +939,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
@@ -1021,6 +1027,7 @@
     },
   },
   &quot;appType&quot;: &quot;A String&quot;, # Optional. Immutable. This the application type which this engine resource represents. NOTE: this is a new concept independ of existing industry vertical or solution type.
+  &quot;associatedAgentRegistry&quot;: &quot;A String&quot;, # Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.
   &quot;chatEngineConfig&quot;: { # Configurations for a Chat Engine. # Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT.
     &quot;agentCreationConfig&quot;: { # Configurations for generating a Dialogflow agent. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation. # The configurationt generate the Dialogflow agent that is associated to this Engine. Note that these configurations are one-time consumed by and passed to Dialogflow service. It means they cannot be retrieved using EngineService.GetEngine or EngineService.ListEngines API after engine creation.
       &quot;business&quot;: &quot;A String&quot;, # Name of the company, organization or other entity that the agent represents. Used for knowledge connector LLM prompt and for knowledge search.
@@ -1061,7 +1068,7 @@
   ],
   &quot;disableAnalytics&quot;: True or False, # Optional. Whether to disable analytics for searches performed on this engine.
   &quot;displayName&quot;: &quot;A String&quot;, # Required. The display name of the engine. Should be human readable. UTF-8 encoded string with limit of 1024 characters.
-  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`
+  &quot;features&quot;: { # Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it&#x27;s present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;industryVertical&quot;: &quot;A String&quot;, # Optional. The industry vertical that the engine registers. The restriction of the Engine industry vertical is based on DataStore: Vertical on Engine has to match vertical of the DataStore linked to the engine.
diff --git a/docs/dyn/discoveryengine_v1beta.projects.locations.userStores.userLicenses.html b/docs/dyn/discoveryengine_v1beta.projects.locations.userStores.userLicenses.html
index 4d5cfa5..db99172 100644
--- a/docs/dyn/discoveryengine_v1beta.projects.locations.userStores.userLicenses.html
+++ b/docs/dyn/discoveryengine_v1beta.projects.locations.userStores.userLicenses.html
@@ -97,7 +97,7 @@
   parent: string, Required. The parent UserStore resource name, format: `projects/{project}/locations/{location}/userStores/{user_store_id}`. (required)
   filter: string, Optional. Filter for the list request. Supported fields: * `license_assignment_state` * `user_principal` * Examples: * `license_assignment_state = ASSIGNED` to list assigned user licenses. * `license_assignment_state = NO_LICENSE` to list not licensed users. * `license_assignment_state = NO_LICENSE_ATTEMPTED_LOGIN` to list users who attempted login but no license assigned. * `license_assignment_state != NO_LICENSE_ATTEMPTED_LOGIN` to filter out users who attempted login but no license assigned. * `user_principal = user1@example.com` to list user license for `user1@example.com`.
   orderBy: string, Optional. The order in which the UserLicenses are listed. The value must be a comma-separated list of fields. Default sorting order is ascending. To specify descending order for a field, append a &quot; desc&quot; suffix. Redundant space characters in the syntax are insignificant. Supported fields (only `user_principal` is supported for now): * `user_principal` If not set, the default ordering is by `user_principal`. Examples: * `user_principal` to order by `user_principal` in ascending order. * `user_principal desc` to order by `user_principal` in descending order.
-  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, defaults to 10. The maximum value is 50; values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT error is returned.
+  pageSize: integer, Optional. Requested page size. Server may return fewer items than requested. If unspecified, defaults to 100. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.
   pageToken: string, Optional. A page token, received from a previous `ListUserLicenses` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListUserLicenses` must match the call that provided the page token.
   x__xgafv: string, V1 error format.
     Allowed values
diff --git a/docs/dyn/displayvideo_v4.advertisers.html b/docs/dyn/displayvideo_v4.advertisers.html
index ddfe848..0d3b676 100644
--- a/docs/dyn/displayvideo_v4.advertisers.html
+++ b/docs/dyn/displayvideo_v4.advertisers.html
@@ -135,6 +135,11 @@
 <p class="firstline">Returns the negativeKeywordLists Resource.</p>
 
 <p class="toc_element">
+  <code><a href="displayvideo_v4.advertisers.reachForecast.html">reachForecast()</a></code>
+</p>
+<p class="firstline">Returns the reachForecast Resource.</p>
+
+<p class="toc_element">
   <code><a href="displayvideo_v4.advertisers.targetingTypes.html">targetingTypes()</a></code>
 </p>
 <p class="firstline">Returns the targetingTypes Resource.</p>
diff --git a/docs/dyn/displayvideo_v4.advertisers.reachForecast.html b/docs/dyn/displayvideo_v4.advertisers.reachForecast.html
new file mode 100644
index 0000000..5aac49b
--- /dev/null
+++ b/docs/dyn/displayvideo_v4.advertisers.reachForecast.html
@@ -0,0 +1,428 @@
+<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="displayvideo_v4.html">Display & Video 360 API</a> . <a href="displayvideo_v4.advertisers.html">advertisers</a> . <a href="displayvideo_v4.advertisers.reachForecast.html">reachForecast</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="#generateReachForecast">generateReachForecast(advertiserId, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Generates a reach forecast for a given advertiser and targeting configuration.</p>
+<p class="toc_element">
+  <code><a href="#retrievePlannableLocations">retrievePlannableLocations(advertiserId, x__xgafv=None)</a></code></p>
+<p class="firstline">Retrieves the list of countries where reach forecasting is supported.</p>
+<p class="toc_element">
+  <code><a href="#retrievePlannableProducts">retrievePlannableProducts(advertiserId, plannableLocationId=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Retrieves the list of products that can be planned for a location.</p>
+<p class="toc_element">
+  <code><a href="#retrievePlannableUserInterests">retrievePlannableUserInterests(advertiserId, productCategory=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Retrieves Google Audiences (User Interests) available for forecasting.</p>
+<p class="toc_element">
+  <code><a href="#retrievePlannableUserLists">retrievePlannableUserLists(advertiserId, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Retrieves first and third party user lists available for forecasting.</p>
+<p class="toc_element">
+  <code><a href="#retrievePlannableUserLists_next">retrievePlannableUserLists_next()</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="generateReachForecast">generateReachForecast(advertiserId, body=None, x__xgafv=None)</code>
+  <pre>Generates a reach forecast for a given advertiser and targeting configuration.
+
+Args:
+  advertiserId: string, Required. The ID of the advertiser that will run the planned campaign. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ReachForecastService.GenerateReachForecast.
+  &quot;campaignDuration&quot;: { # The duration of the reach plan. # Required. The duration of the planned campaign.
+    &quot;dateRange&quot;: { # A date range. # Required. The date range the plan covers.
+      &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+        &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+        &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+      &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+        &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+        &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+        &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+      },
+    },
+    &quot;durationDays&quot;: 42, # Required. The number of days the plan covers.
+  },
+  &quot;currencyCode&quot;: &quot;A String&quot;, # Required. The currency code for the plan in ISO 4217 format.
+  &quot;effectiveFrequencyBreakdownLimit&quot;: 42, # Optional. The highest minimum effective frequency to include in PlannedProductForecast.effective_frequency_breakdowns. Must be between 1 and 10, inclusive. If not specified, PlannedProductForecast.effective_frequency_breakdowns will not be populated. If set, this value will also be used as the minimum effective frequency for reach metrics reporting. This field cannot be combined with the min_effective_frequency field.
+  &quot;minEffectiveFrequency&quot;: 42, # Optional. The minimum effective frequency for the reported reach metrics. This is the smallest number of times a customer must be exposed to the ad for it to be considered effective. This setting only impacts reporting. Must be between 1 and 10, inclusive. If not specified, a default of 1 is applied. This field cannot be combined with effective_frequency_breakdown_limit.
+  &quot;plannedProducts&quot;: [ # Required. The list of line items to include in the forecast.
+    { # Configuration for a specific product in the plan.
+      &quot;advancedProductTargeting&quot;: { # Product-specific targeting overrides. # Optional. Optional line item level targeting overrides.
+        &quot;ageRange&quot;: &quot;A String&quot;, # Optional. The age range to target.
+        &quot;dateRange&quot;: { # A date range. # Optional. The date range to target.
+          &quot;endDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # The upper bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+            &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+            &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+            &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+          },
+          &quot;startDate&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # The lower bound of the date range, inclusive. Must specify a positive value for `year`, `month`, and `day`.
+            &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+            &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+            &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+          },
+        },
+        &quot;devices&quot;: [ # Optional. The devices to target.
+          &quot;A String&quot;,
+        ],
+        &quot;frequencyCap&quot;: { # Settings that control the number of times a user may be shown with the same ad during a given time period. # Optional. The frequency cap for the specific product.
+          &quot;maxImpressions&quot;: 42, # The maximum number of times a user may be shown the same ad during this period. Must be greater than 0. Required when unlimited is `false` and max_views is not set.
+          &quot;maxViews&quot;: 42, # Optional. The maximum number of times a user may click-through or fully view an ad during this period until it is no longer served to them. Must be greater than 0. Only applicable to YouTube and Partners resources. Required when unlimited is `false` and max_impressions is not set.
+          &quot;timeUnit&quot;: &quot;A String&quot;, # The time unit in which the frequency cap will be applied. Required when unlimited is `false`.
+          &quot;timeUnitCount&quot;: 42, # The number of time_unit the frequency cap will last. Required when unlimited is `false`. The following restrictions apply based on the value of time_unit: * `TIME_UNIT_MONTHS` - must be 1 * `TIME_UNIT_WEEKS` - must be between 1 and 4 * `TIME_UNIT_DAYS` - must be between 1 and 6 * `TIME_UNIT_HOURS` - must be between 1 and 23 * `TIME_UNIT_MINUTES` - must be between 1 and 59
+          &quot;unlimited&quot;: True or False, # Whether unlimited frequency capping is applied. When this field is set to `true`, the remaining frequency cap fields are not applicable.
+        },
+        &quot;genders&quot;: [ # Optional. The gender options to target.
+          &quot;A String&quot;,
+        ],
+        &quot;plannableLocationIds&quot;: [ # Optional. Plannable location IDs to target.
+          &quot;A String&quot;,
+        ],
+        &quot;surfaceTargetingSettings&quot;: { # Surface targeting selection. # Optional. Plannable surfaces to target.
+          &quot;surfaces&quot;: [ # Optional. The surfaces to target.
+            &quot;A String&quot;,
+          ],
+        },
+        &quot;targetFrequency&quot;: { # Setting that controls the average number of times the ads will show to the same person over a certain period of time. # Optional. The average number of times the ads will show to the same person over a certain period of time.
+          &quot;targetCount&quot;: &quot;A String&quot;, # The target number of times, on average, the ads will be shown to the same person in the timespan dictated by time_unit and time_unit_count.
+          &quot;timeUnit&quot;: &quot;A String&quot;, # The unit of time in which the target frequency will be applied. The following time unit is applicable: * `TIME_UNIT_WEEKS`
+          &quot;timeUnitCount&quot;: 42, # The number of time_unit the target frequency will last. The following restrictions apply based on the value of time_unit: * `TIME_UNIT_WEEKS` - must be 1
+        },
+        &quot;userInterestIds&quot;: [ # Optional. The user interest IDs to target. Plannable user interests can be retrieved using the `RetrievePlannableUserInterests` method.
+          &quot;A String&quot;,
+        ],
+        &quot;userListIds&quot;: [ # Optional. The user list IDs to target. Plannable user lists can be retrieved using the `RetrievePlannableUserInterests` method.
+          &quot;A String&quot;,
+        ],
+        &quot;youtubeSelectSettings&quot;: { # Settings for YouTube Select Lineups. # Optional. YouTube Select settings.
+          &quot;lineupId&quot;: &quot;A String&quot;, # Optional. The ID of the YouTube Select Lineup.
+        },
+      },
+      &quot;budgetMicros&quot;: &quot;A String&quot;, # Required. The budget for this product in micros.
+      &quot;plannableProductCode&quot;: &quot;A String&quot;, # Required. The code for the product, e.g. &quot;VIDEO_REACH_CAMPAIGN&quot;.
+    },
+  ],
+  &quot;targeting&quot;: { # Targeting settings for a planned campaign. # Required. The targeting parameters of the planned campaign.
+    &quot;ageRange&quot;: &quot;A String&quot;, # Optional. The age range to target.
+    &quot;devices&quot;: [ # Optional. The devices to target.
+      &quot;A String&quot;,
+    ],
+    &quot;genders&quot;: [ # Optional. The gender options to target.
+      &quot;A String&quot;,
+    ],
+    &quot;plannableLocationIds&quot;: [ # Required. IDs of plannable locations to target. Plannable locations can be retrieved using the `RetrievePlannableLocations` method.
+      &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:
+
+    { # Response message for ReachForecastService.GenerateReachForecast.
+  &quot;onTargetAudienceMetrics&quot;: { # Estimated audience sizes for a targeted geography. # The estimated audience sizes for the targeted geography.
+    &quot;censusAudienceSize&quot;: &quot;A String&quot;, # Size of the audience based on the census data of the targeted geography.
+    &quot;youtubeAudienceSize&quot;: &quot;A String&quot;, # Estimated size of the YouTube audience.
+  },
+  &quot;reachCurve&quot;: { # The generated reach curve. # The generated forecast curve.
+    &quot;reachForecasts&quot;: [ # Points along the curve, ordered by cost.
+      { # A single point in the reach curve.
+        &quot;costMicros&quot;: &quot;A String&quot;, # Total cost for this point in micros.
+        &quot;forecast&quot;: { # Performance metrics for a forecast point. # Aggregate forecast for the entire plan.
+          &quot;effectiveFrequencyBreakdowns&quot;: [ # A list of effective frequency breakdowns.
+            { # A breakdown of the number of unique people reached at a given effective frequency.
+              &quot;effectiveCoviewReach&quot;: &quot;A String&quot;, # The number of unique individuals, including co-viewers, exactly matching the targeting that were served the ad at least the number of times dictated by the effective_frequency.
+              &quot;effectiveFrequency&quot;: 42, # The set effective frequency.
+              &quot;onTargetEffectiveCoviewReach&quot;: &quot;A String&quot;, # The total number of unique individuals, including co-viewers that were served the ad at least the number of times dictated by the effective_frequency. This includes individuals that may fall outside of targeting.
+              &quot;onTargetReach&quot;: &quot;A String&quot;, # The number of unique individuals exactly matching the targeting that were served the ad at least the number of times dictated by the effective_frequency.
+              &quot;totalReach&quot;: &quot;A String&quot;, # The total number of unique individuals that were served the ad at least the number of times dictated by the effective_frequency. This includes individuals that may fall outside of targeting.
+            },
+          ],
+          &quot;onTargetImpressions&quot;: &quot;A String&quot;, # Number of on-target impressions.
+          &quot;onTargetReach&quot;: &quot;A String&quot;, # Number of unique people reached that match the on-target definition.
+          &quot;totalImpressions&quot;: &quot;A String&quot;, # Total number of impressions.
+          &quot;totalReach&quot;: &quot;A String&quot;, # Total number of unique people reached.
+          &quot;trueviewViews&quot;: &quot;A String&quot;, # Number of TrueView views.
+          &quot;viewableImpressions&quot;: &quot;A String&quot;, # Number of viewable impressions.
+        },
+        &quot;plannedProductReachForecasts&quot;: [ # Breakdown for individual products at this cost point.
+          { # Performance forecast for a specific product.
+            &quot;costMicros&quot;: &quot;A String&quot;, # The cost in micros for this product.
+            &quot;plannableProductCode&quot;: &quot;A String&quot;, # The code for the product.
+            &quot;plannedProductForecast&quot;: { # Performance metrics for a forecast point. # Performance metrics for the product.
+              &quot;effectiveFrequencyBreakdowns&quot;: [ # A list of effective frequency breakdowns.
+                { # A breakdown of the number of unique people reached at a given effective frequency.
+                  &quot;effectiveCoviewReach&quot;: &quot;A String&quot;, # The number of unique individuals, including co-viewers, exactly matching the targeting that were served the ad at least the number of times dictated by the effective_frequency.
+                  &quot;effectiveFrequency&quot;: 42, # The set effective frequency.
+                  &quot;onTargetEffectiveCoviewReach&quot;: &quot;A String&quot;, # The total number of unique individuals, including co-viewers that were served the ad at least the number of times dictated by the effective_frequency. This includes individuals that may fall outside of targeting.
+                  &quot;onTargetReach&quot;: &quot;A String&quot;, # The number of unique individuals exactly matching the targeting that were served the ad at least the number of times dictated by the effective_frequency.
+                  &quot;totalReach&quot;: &quot;A String&quot;, # The total number of unique individuals that were served the ad at least the number of times dictated by the effective_frequency. This includes individuals that may fall outside of targeting.
+                },
+              ],
+              &quot;onTargetImpressions&quot;: &quot;A String&quot;, # Number of on-target impressions.
+              &quot;onTargetReach&quot;: &quot;A String&quot;, # Number of unique people reached that match the on-target definition.
+              &quot;totalImpressions&quot;: &quot;A String&quot;, # Total number of impressions.
+              &quot;totalReach&quot;: &quot;A String&quot;, # Total number of unique people reached.
+              &quot;trueviewViews&quot;: &quot;A String&quot;, # Number of TrueView views.
+              &quot;viewableImpressions&quot;: &quot;A String&quot;, # Number of viewable impressions.
+            },
+          },
+        ],
+      },
+    ],
+  },
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="retrievePlannableLocations">retrievePlannableLocations(advertiserId, x__xgafv=None)</code>
+  <pre>Retrieves the list of countries where reach forecasting is supported.
+
+Args:
+  advertiserId: string, Required. The ID of the advertiser to list plannable locations for. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for RetrievePlannableLocations
+  &quot;plannableLocations&quot;: [ # Output only. The list of plannable locations.
+    { # A plannable location used for forecasting.
+      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the location, for example &quot;Algeria&quot;.
+      &quot;geoRegionType&quot;: &quot;A String&quot;, # Output only. The type of location.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name of the plannable location.
+      &quot;plannableLocationId&quot;: &quot;A String&quot;, # Output only. The plannable location ID.
+      &quot;regionCode&quot;: &quot;A String&quot;, # Output only. The region code of the location, for example &quot;DZ&quot; for Algeria.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="retrievePlannableProducts">retrievePlannableProducts(advertiserId, plannableLocationId=None, x__xgafv=None)</code>
+  <pre>Retrieves the list of products that can be planned for a location.
+
+Args:
+  advertiserId: string, Required. The ID of the advertiser to list plannable products for. (required)
+  plannableLocationId: string, Required. The ID of the plannable location.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for RetrievePlannableProducts
+  &quot;productMetadata&quot;: [ # Output only. The list of product metadata showing targeting possibilities.
+    { # Metadata for a plannable product.
+      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The name associated with the ad product. For example: &quot;Video View Campaign&quot;.
+      &quot;plannableProductCode&quot;: &quot;A String&quot;, # Output only. The plannable product code (e.g. &quot;YOUTUBE_REACH_MIX&quot;).
+      &quot;plannableProductDescription&quot;: &quot;A String&quot;, # Output only. The plain-text description of the ad product.
+      &quot;plannableTargeting&quot;: { # Targeting capabilities for a given product. # Output only. The targeting capabilities available for this product.
+        &quot;ageRanges&quot;: [ # Output only. Allowed plannable age ranges for the product. Actual targeting is computed by mapping this age range onto standard Google age targeting.
+          &quot;A String&quot;,
+        ],
+        &quot;devices&quot;: [ # Output only. Targetable devices for the ad product.
+          &quot;A String&quot;,
+        ],
+        &quot;genders&quot;: [ # Output only. Targetable genders for the ad product.
+          &quot;A String&quot;,
+        ],
+        &quot;networks&quot;: [ # Output only. Targetable networks for the ad product.
+          &quot;A String&quot;,
+        ],
+        &quot;surfaceTargetingCombinations&quot;: { # Surface targeting rules. # Output only. Targetable surface combinations for the ad product.
+          &quot;availableSurfaceTypes&quot;: [ # Output only. The surface types available.
+            &quot;A String&quot;,
+          ],
+          &quot;validSurfaceCombinations&quot;: [ # Output only. Valid combinations of surfaces that can be selected together.
+            { # A valid combination of surfaces.
+              &quot;choices&quot;: [ # Output only. The combination of surfaces.
+                &quot;A String&quot;,
+              ],
+            },
+          ],
+        },
+        &quot;youtubeSelectLineups&quot;: [ # Output only. Targetable YouTube Select Lineups for the ad product.
+          { # A Plannable YouTube Select Lineup for product targeting.
+            &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the YouTube Select Lineup.
+            &quot;lineupId&quot;: &quot;A String&quot;, # Output only. The ID of the YouTube Select Lineup.
+          },
+        ],
+      },
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="retrievePlannableUserInterests">retrievePlannableUserInterests(advertiserId, productCategory=None, x__xgafv=None)</code>
+  <pre>Retrieves Google Audiences (User Interests) available for forecasting.
+
+Args:
+  advertiserId: string, Required. The ID of the advertiser to list plannable user interests for. (required)
+  productCategory: string, Required. The product category to retrieve plannable user interests for.
+    Allowed values
+      PLANNABLE_PRODUCT_CATEGORY_UNSPECIFIED - Not specified.
+      YOUTUBE - YouTube.
+      OPEN_AUCTION - Open Auction.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for RetrievePlannableUserInterests.
+  &quot;plannableUserInterests&quot;: [ # The list of plannable user interests (Google Audiences).
+    { # A plannable user interest used for targeting.
+      &quot;userInterest&quot;: { # The identifier for a user interest. # Output only. The identifier for the user interest. The product_category specified in the request dictates the field populated in the object. * user_interest_category is populated for &quot;Youtube&quot;. * user_interest_user_list is populated for &quot;Open Auction&quot;.
+        &quot;userInterestCategory&quot;: &quot;A String&quot;, # Output only. The resource name of the interest category. Populated when `product_category` is &quot;Youtube&quot;. Format: customers/{customer_id}/userInterests/{user_interest_id}
+        &quot;userInterestUserList&quot;: &quot;A String&quot;, # Output only. The resource name of the user list. Populated when `product_category` is &quot;Open Auction&quot;. Format: customers/{customer_id}/userLists/{user_list_id}
+      },
+      &quot;userInterestDisplayName&quot;: &quot;A String&quot;, # Output only. The display name of the interest, for example &quot;Outdoor Enthusiasts&quot;.
+      &quot;userInterestPath&quot;: &quot;A String&quot;, # Output only. The category path of the interest.
+      &quot;userInterestType&quot;: &quot;A String&quot;, # Output only. The type of audience, e.g., &quot;AFFINITY&quot;, &quot;IN_MARKET&quot;.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="retrievePlannableUserLists">retrievePlannableUserLists(advertiserId, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Retrieves first and third party user lists available for forecasting.
+
+Args:
+  advertiserId: string, Required. The ID of the advertiser to retrieve plannable user lists for. (required)
+  filter: string, Optional. Allows filtering by plannable user list properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (&gt;=)` or `LESS THAN OR EQUAL TO (&lt;=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `plannableStatus` Examples: * All plannable user lists: `plannableStatus=&quot;PLANNABLE&quot;` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.
+  pageSize: integer, Optional. Requested page size. Must be between `1` and `5000`. If unspecified will default to `5000`.
+  pageToken: string, Optional. A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `RetrievePlannableUserLists` method. If not specified, the first page of results will be returned.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for RetrievePlannableUserLists.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Output only. A token to retrieve the next page of results.
+  &quot;plannableUserLists&quot;: [ # Output only. The list of plannable user lists.
+    { # A plannable user list used for reach forecasting.
+      &quot;displayName&quot;: &quot;A String&quot;, # Output only. The display name of the user list.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. The resource name identifying the user list. Format: `advertisers/{advertiser_id}/userLists/{user_list_id}`
+      &quot;plannableStatus&quot;: &quot;A String&quot;, # Output only. The plannability status of the user list.
+      &quot;userListType&quot;: &quot;A String&quot;, # Output only. The type of the user list.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="retrievePlannableUserLists_next">retrievePlannableUserLists_next()</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/dlp_v2.organizations.inspectTemplates.html b/docs/dyn/dlp_v2.organizations.inspectTemplates.html
index 5195a2b..0fc80ca 100644
--- a/docs/dyn/dlp_v2.organizations.inspectTemplates.html
+++ b/docs/dyn/dlp_v2.organizations.inspectTemplates.html
@@ -153,6 +153,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -413,6 +427,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -695,6 +723,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -965,6 +1007,20 @@
               },
             },
             &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+            &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+              &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                  { # The field values of the Google Drive label to match.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                  },
+                ],
+                &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+              },
+              &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+              },
+            },
             &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
               &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
               &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1242,6 +1298,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1501,6 +1571,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html b/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html
index 548f7b6..08e2cb0 100644
--- a/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html
+++ b/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html
@@ -2822,6 +2822,20 @@
                     },
                   },
                   &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+                  &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                    &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                      &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                        { # The field values of the Google Drive label to match.
+                          &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                        },
+                      ],
+                      &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                    },
+                    &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                      &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                    },
+                  },
                   &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                     &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                     &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -3150,6 +3164,20 @@
                     },
                   },
                   &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+                  &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                    &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                      &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                        { # The field values of the Google Drive label to match.
+                          &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                        },
+                      ],
+                      &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                    },
+                    &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                      &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                    },
+                  },
                   &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                     &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                     &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.organizations.locations.fileStoreDataProfiles.html b/docs/dyn/dlp_v2.organizations.locations.fileStoreDataProfiles.html
index 2df0483..7d7f061 100644
--- a/docs/dyn/dlp_v2.organizations.locations.fileStoreDataProfiles.html
+++ b/docs/dyn/dlp_v2.organizations.locations.fileStoreDataProfiles.html
@@ -584,6 +584,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1419,6 +1433,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.organizations.locations.inspectTemplates.html b/docs/dyn/dlp_v2.organizations.locations.inspectTemplates.html
index 0399db6..f19b5dd 100644
--- a/docs/dyn/dlp_v2.organizations.locations.inspectTemplates.html
+++ b/docs/dyn/dlp_v2.organizations.locations.inspectTemplates.html
@@ -153,6 +153,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -413,6 +427,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -695,6 +723,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -965,6 +1007,20 @@
               },
             },
             &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+            &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+              &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                  { # The field values of the Google Drive label to match.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                  },
+                ],
+                &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+              },
+              &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+              },
+            },
             &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
               &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
               &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1242,6 +1298,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1501,6 +1571,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html b/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html
index 1ee45c3..0f28f70 100644
--- a/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html
+++ b/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html
@@ -218,6 +218,20 @@
               },
             },
             &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+            &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+              &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                  { # The field values of the Google Drive label to match.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                  },
+                ],
+                &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+              },
+              &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+              },
+            },
             &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
               &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
               &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -637,6 +651,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1078,6 +1106,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1513,6 +1555,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1949,6 +2005,20 @@
               },
             },
             &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+            &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+              &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                  { # The field values of the Google Drive label to match.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                  },
+                ],
+                &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+              },
+              &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+              },
+            },
             &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
               &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
               &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -2367,6 +2437,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.organizations.locations.storedInfoTypes.html b/docs/dyn/dlp_v2.organizations.locations.storedInfoTypes.html
index bc81669..4d159fa 100644
--- a/docs/dyn/dlp_v2.organizations.locations.storedInfoTypes.html
+++ b/docs/dyn/dlp_v2.organizations.locations.storedInfoTypes.html
@@ -201,8 +201,8 @@
         &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
       },
     },
-    &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-    &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+    &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
       { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
         &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
           &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -219,14 +219,14 @@
         ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
       &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
         &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
       },
     },
   },
-  &quot;name&quot;: &quot;A String&quot;, # Resource name.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
     { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
       &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -267,8 +267,8 @@
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
         },
       },
-      &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-      &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+      &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
         { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
           &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
             &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -285,8 +285,8 @@
           ],
         },
       ],
-      &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
         &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
           &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
         },
@@ -368,8 +368,8 @@
         &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
       },
     },
-    &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-    &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+    &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
       { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
         &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
           &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -386,14 +386,14 @@
         ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
       &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
         &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
       },
     },
   },
-  &quot;name&quot;: &quot;A String&quot;, # Resource name.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
     { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
       &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -434,8 +434,8 @@
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
         },
       },
-      &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-      &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+      &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
         { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
           &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
             &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -452,8 +452,8 @@
           ],
         },
       ],
-      &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
         &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
           &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
         },
@@ -524,8 +524,8 @@
             &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
           },
         },
-        &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-        &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+        &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
           { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
             &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
               &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -542,14 +542,14 @@
             ],
           },
         ],
-        &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-        &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+        &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+        &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
           &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
             &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
           },
         },
       },
-      &quot;name&quot;: &quot;A String&quot;, # Resource name.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
       &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
         { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
           &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -590,8 +590,8 @@
               &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
             },
           },
-          &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-          &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+          &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+          &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
             { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
               &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
                 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -608,8 +608,8 @@
               ],
             },
           ],
-          &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-          &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+          &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+          &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
             &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
               &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
             },
@@ -734,8 +734,8 @@
         &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
       },
     },
-    &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-    &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+    &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
       { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
         &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
           &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -752,14 +752,14 @@
         ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
       &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
         &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
       },
     },
   },
-  &quot;name&quot;: &quot;A String&quot;, # Resource name.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
     { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
       &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -800,8 +800,8 @@
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
         },
       },
-      &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-      &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+      &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
         { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
           &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
             &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -818,8 +818,8 @@
           ],
         },
       ],
-      &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
         &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
           &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
         },
diff --git a/docs/dyn/dlp_v2.organizations.locations.tableDataProfiles.html b/docs/dyn/dlp_v2.organizations.locations.tableDataProfiles.html
index 8e8f95e..daa2893 100644
--- a/docs/dyn/dlp_v2.organizations.locations.tableDataProfiles.html
+++ b/docs/dyn/dlp_v2.organizations.locations.tableDataProfiles.html
@@ -584,6 +584,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1363,6 +1377,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.organizations.storedInfoTypes.html b/docs/dyn/dlp_v2.organizations.storedInfoTypes.html
index f267130..4406c50 100644
--- a/docs/dyn/dlp_v2.organizations.storedInfoTypes.html
+++ b/docs/dyn/dlp_v2.organizations.storedInfoTypes.html
@@ -201,8 +201,8 @@
         &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
       },
     },
-    &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-    &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+    &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
       { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
         &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
           &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -219,14 +219,14 @@
         ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
       &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
         &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
       },
     },
   },
-  &quot;name&quot;: &quot;A String&quot;, # Resource name.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
     { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
       &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -267,8 +267,8 @@
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
         },
       },
-      &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-      &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+      &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
         { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
           &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
             &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -285,8 +285,8 @@
           ],
         },
       ],
-      &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
         &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
           &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
         },
@@ -368,8 +368,8 @@
         &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
       },
     },
-    &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-    &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+    &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
       { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
         &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
           &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -386,14 +386,14 @@
         ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
       &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
         &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
       },
     },
   },
-  &quot;name&quot;: &quot;A String&quot;, # Resource name.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
     { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
       &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -434,8 +434,8 @@
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
         },
       },
-      &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-      &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+      &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
         { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
           &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
             &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -452,8 +452,8 @@
           ],
         },
       ],
-      &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
         &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
           &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
         },
@@ -524,8 +524,8 @@
             &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
           },
         },
-        &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-        &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+        &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
           { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
             &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
               &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -542,14 +542,14 @@
             ],
           },
         ],
-        &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-        &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+        &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+        &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
           &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
             &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
           },
         },
       },
-      &quot;name&quot;: &quot;A String&quot;, # Resource name.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
       &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
         { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
           &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -590,8 +590,8 @@
               &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
             },
           },
-          &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-          &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+          &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+          &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
             { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
               &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
                 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -608,8 +608,8 @@
               ],
             },
           ],
-          &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-          &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+          &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+          &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
             &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
               &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
             },
@@ -734,8 +734,8 @@
         &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
       },
     },
-    &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-    &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+    &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
       { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
         &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
           &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -752,14 +752,14 @@
         ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
       &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
         &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
       },
     },
   },
-  &quot;name&quot;: &quot;A String&quot;, # Resource name.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
     { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
       &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -800,8 +800,8 @@
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
         },
       },
-      &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-      &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+      &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
         { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
           &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
             &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -818,8 +818,8 @@
           ],
         },
       ],
-      &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
         &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
           &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
         },
diff --git a/docs/dyn/dlp_v2.projects.content.html b/docs/dyn/dlp_v2.projects.content.html
index a45d005..5846a73 100644
--- a/docs/dyn/dlp_v2.projects.content.html
+++ b/docs/dyn/dlp_v2.projects.content.html
@@ -995,6 +995,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1212,6 +1226,40 @@
       &quot;type&quot;: &quot;A String&quot;, # The type of data stored in the bytes string. Default will be TEXT_UTF8.
     },
     &quot;contentMetadata&quot;: { # Metadata on content to be scanned. # User provided metadata for the content.
+      &quot;fileLabels&quot;: [ # Optional. The file labels associated with the content.
+        { # Represents a file label.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFields&quot;: [ # The field values of the Google Drive label
+              { # The field values of the Google Drive label
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: { # Set of primitive values supported by the system. Note that for the purposes of inspection or transformation, the number of bytes considered to comprise a &#x27;Value&#x27; is based on its representation as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to 123456789, the number of bytes would be counted as 9, even though an int64 only holds up to 8 bytes of data. # The value of the Label Field.
+                  &quot;booleanValue&quot;: True or False, # boolean
+                  &quot;dateValue&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # date
+                    &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+                    &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+                    &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+                  },
+                  &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
+                  &quot;floatValue&quot;: 3.14, # float
+                  &quot;integerValue&quot;: &quot;A String&quot;, # integer
+                  &quot;stringValue&quot;: &quot;A String&quot;, # string
+                  &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # time of day
+                    &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                    &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
+                    &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
+                    &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
+                  },
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
+                },
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # Required. The GUID of the sensitivity label.
+          },
+        },
+      ],
       &quot;properties&quot;: [ # User provided key-value pairs of content metadata.
         { # A key-value pair in the Metadata.
           &quot;key&quot;: &quot;A String&quot;, # The key of the property.
@@ -1287,6 +1335,40 @@
       &quot;type&quot;: &quot;A String&quot;, # The type of data stored in the bytes string. Default will be TEXT_UTF8.
     },
     &quot;contentMetadata&quot;: { # Metadata on content to be scanned. # User provided metadata for the content.
+      &quot;fileLabels&quot;: [ # Optional. The file labels associated with the content.
+        { # Represents a file label.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFields&quot;: [ # The field values of the Google Drive label
+              { # The field values of the Google Drive label
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: { # Set of primitive values supported by the system. Note that for the purposes of inspection or transformation, the number of bytes considered to comprise a &#x27;Value&#x27; is based on its representation as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to 123456789, the number of bytes would be counted as 9, even though an int64 only holds up to 8 bytes of data. # The value of the Label Field.
+                  &quot;booleanValue&quot;: True or False, # boolean
+                  &quot;dateValue&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # date
+                    &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+                    &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+                    &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+                  },
+                  &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
+                  &quot;floatValue&quot;: 3.14, # float
+                  &quot;integerValue&quot;: &quot;A String&quot;, # integer
+                  &quot;stringValue&quot;: &quot;A String&quot;, # string
+                  &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # time of day
+                    &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                    &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
+                    &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
+                    &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
+                  },
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
+                },
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # Required. The GUID of the sensitivity label.
+          },
+        },
+      ],
       &quot;properties&quot;: [ # User provided key-value pairs of content metadata.
         { # A key-value pair in the Metadata.
           &quot;key&quot;: &quot;A String&quot;, # The key of the property.
@@ -2214,6 +2296,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -2431,6 +2527,40 @@
       &quot;type&quot;: &quot;A String&quot;, # The type of data stored in the bytes string. Default will be TEXT_UTF8.
     },
     &quot;contentMetadata&quot;: { # Metadata on content to be scanned. # User provided metadata for the content.
+      &quot;fileLabels&quot;: [ # Optional. The file labels associated with the content.
+        { # Represents a file label.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFields&quot;: [ # The field values of the Google Drive label
+              { # The field values of the Google Drive label
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: { # Set of primitive values supported by the system. Note that for the purposes of inspection or transformation, the number of bytes considered to comprise a &#x27;Value&#x27; is based on its representation as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to 123456789, the number of bytes would be counted as 9, even though an int64 only holds up to 8 bytes of data. # The value of the Label Field.
+                  &quot;booleanValue&quot;: True or False, # boolean
+                  &quot;dateValue&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # date
+                    &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+                    &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+                    &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+                  },
+                  &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
+                  &quot;floatValue&quot;: 3.14, # float
+                  &quot;integerValue&quot;: &quot;A String&quot;, # integer
+                  &quot;stringValue&quot;: &quot;A String&quot;, # string
+                  &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # time of day
+                    &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                    &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
+                    &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
+                    &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
+                  },
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
+                },
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # Required. The GUID of the sensitivity label.
+          },
+        },
+      ],
       &quot;properties&quot;: [ # User provided key-value pairs of content metadata.
         { # A key-value pair in the Metadata.
           &quot;key&quot;: &quot;A String&quot;, # The key of the property.
@@ -2680,6 +2810,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -2897,6 +3041,40 @@
       &quot;type&quot;: &quot;A String&quot;, # The type of data stored in the bytes string. Default will be TEXT_UTF8.
     },
     &quot;contentMetadata&quot;: { # Metadata on content to be scanned. # User provided metadata for the content.
+      &quot;fileLabels&quot;: [ # Optional. The file labels associated with the content.
+        { # Represents a file label.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFields&quot;: [ # The field values of the Google Drive label
+              { # The field values of the Google Drive label
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: { # Set of primitive values supported by the system. Note that for the purposes of inspection or transformation, the number of bytes considered to comprise a &#x27;Value&#x27; is based on its representation as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to 123456789, the number of bytes would be counted as 9, even though an int64 only holds up to 8 bytes of data. # The value of the Label Field.
+                  &quot;booleanValue&quot;: True or False, # boolean
+                  &quot;dateValue&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # date
+                    &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+                    &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+                    &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+                  },
+                  &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
+                  &quot;floatValue&quot;: 3.14, # float
+                  &quot;integerValue&quot;: &quot;A String&quot;, # integer
+                  &quot;stringValue&quot;: &quot;A String&quot;, # string
+                  &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # time of day
+                    &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                    &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
+                    &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
+                    &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
+                  },
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
+                },
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # Required. The GUID of the sensitivity label.
+          },
+        },
+      ],
       &quot;properties&quot;: [ # User provided key-value pairs of content metadata.
         { # A key-value pair in the Metadata.
           &quot;key&quot;: &quot;A String&quot;, # The key of the property.
@@ -3828,6 +4006,40 @@
       &quot;type&quot;: &quot;A String&quot;, # The type of data stored in the bytes string. Default will be TEXT_UTF8.
     },
     &quot;contentMetadata&quot;: { # Metadata on content to be scanned. # User provided metadata for the content.
+      &quot;fileLabels&quot;: [ # Optional. The file labels associated with the content.
+        { # Represents a file label.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFields&quot;: [ # The field values of the Google Drive label
+              { # The field values of the Google Drive label
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: { # Set of primitive values supported by the system. Note that for the purposes of inspection or transformation, the number of bytes considered to comprise a &#x27;Value&#x27; is based on its representation as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to 123456789, the number of bytes would be counted as 9, even though an int64 only holds up to 8 bytes of data. # The value of the Label Field.
+                  &quot;booleanValue&quot;: True or False, # boolean
+                  &quot;dateValue&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # date
+                    &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+                    &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+                    &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+                  },
+                  &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
+                  &quot;floatValue&quot;: 3.14, # float
+                  &quot;integerValue&quot;: &quot;A String&quot;, # integer
+                  &quot;stringValue&quot;: &quot;A String&quot;, # string
+                  &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # time of day
+                    &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                    &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
+                    &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
+                    &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
+                  },
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
+                },
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # Required. The GUID of the sensitivity label.
+          },
+        },
+      ],
       &quot;properties&quot;: [ # User provided key-value pairs of content metadata.
         { # A key-value pair in the Metadata.
           &quot;key&quot;: &quot;A String&quot;, # The key of the property.
diff --git a/docs/dyn/dlp_v2.projects.dlpJobs.html b/docs/dyn/dlp_v2.projects.dlpJobs.html
index b63e93e..7df6fe6 100644
--- a/docs/dyn/dlp_v2.projects.dlpJobs.html
+++ b/docs/dyn/dlp_v2.projects.dlpJobs.html
@@ -221,6 +221,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -3395,6 +3409,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -3723,6 +3751,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -7257,6 +7299,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -7585,6 +7641,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -11113,6 +11183,20 @@
                     },
                   },
                   &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+                  &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                    &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                      &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                        { # The field values of the Google Drive label to match.
+                          &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                        },
+                      ],
+                      &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                    },
+                    &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                      &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                    },
+                  },
                   &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                     &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                     &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -11441,6 +11525,20 @@
                     },
                   },
                   &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+                  &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                    &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                      &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                        { # The field values of the Google Drive label to match.
+                          &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                        },
+                      ],
+                      &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                    },
+                    &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                      &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                    },
+                  },
                   &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                     &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                     &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.projects.image.html b/docs/dyn/dlp_v2.projects.image.html
index 11dd7ff..5c1c9f5 100644
--- a/docs/dyn/dlp_v2.projects.image.html
+++ b/docs/dyn/dlp_v2.projects.image.html
@@ -156,6 +156,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.projects.inspectTemplates.html b/docs/dyn/dlp_v2.projects.inspectTemplates.html
index 6bfe934..b0bcfbb 100644
--- a/docs/dyn/dlp_v2.projects.inspectTemplates.html
+++ b/docs/dyn/dlp_v2.projects.inspectTemplates.html
@@ -153,6 +153,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -413,6 +427,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -695,6 +723,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -965,6 +1007,20 @@
               },
             },
             &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+            &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+              &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                  { # The field values of the Google Drive label to match.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                  },
+                ],
+                &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+              },
+              &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+              },
+            },
             &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
               &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
               &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1242,6 +1298,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1501,6 +1571,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.projects.jobTriggers.html b/docs/dyn/dlp_v2.projects.jobTriggers.html
index b48b106..9795ab3 100644
--- a/docs/dyn/dlp_v2.projects.jobTriggers.html
+++ b/docs/dyn/dlp_v2.projects.jobTriggers.html
@@ -2826,6 +2826,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -3154,6 +3168,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -4071,6 +4099,20 @@
               },
             },
             &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+            &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+              &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                  { # The field values of the Google Drive label to match.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                  },
+                ],
+                &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+              },
+              &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+              },
+            },
             &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
               &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
               &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -4490,6 +4532,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -4931,6 +4987,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -5366,6 +5436,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -5802,6 +5886,20 @@
               },
             },
             &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+            &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+              &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                  { # The field values of the Google Drive label to match.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                  },
+                ],
+                &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+              },
+              &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+              },
+            },
             &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
               &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
               &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -6220,6 +6318,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.projects.locations.content.html b/docs/dyn/dlp_v2.projects.locations.content.html
index 6d69d5b..ef9751b 100644
--- a/docs/dyn/dlp_v2.projects.locations.content.html
+++ b/docs/dyn/dlp_v2.projects.locations.content.html
@@ -995,6 +995,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1212,6 +1226,40 @@
       &quot;type&quot;: &quot;A String&quot;, # The type of data stored in the bytes string. Default will be TEXT_UTF8.
     },
     &quot;contentMetadata&quot;: { # Metadata on content to be scanned. # User provided metadata for the content.
+      &quot;fileLabels&quot;: [ # Optional. The file labels associated with the content.
+        { # Represents a file label.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFields&quot;: [ # The field values of the Google Drive label
+              { # The field values of the Google Drive label
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: { # Set of primitive values supported by the system. Note that for the purposes of inspection or transformation, the number of bytes considered to comprise a &#x27;Value&#x27; is based on its representation as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to 123456789, the number of bytes would be counted as 9, even though an int64 only holds up to 8 bytes of data. # The value of the Label Field.
+                  &quot;booleanValue&quot;: True or False, # boolean
+                  &quot;dateValue&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # date
+                    &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+                    &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+                    &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+                  },
+                  &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
+                  &quot;floatValue&quot;: 3.14, # float
+                  &quot;integerValue&quot;: &quot;A String&quot;, # integer
+                  &quot;stringValue&quot;: &quot;A String&quot;, # string
+                  &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # time of day
+                    &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                    &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
+                    &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
+                    &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
+                  },
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
+                },
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # Required. The GUID of the sensitivity label.
+          },
+        },
+      ],
       &quot;properties&quot;: [ # User provided key-value pairs of content metadata.
         { # A key-value pair in the Metadata.
           &quot;key&quot;: &quot;A String&quot;, # The key of the property.
@@ -1287,6 +1335,40 @@
       &quot;type&quot;: &quot;A String&quot;, # The type of data stored in the bytes string. Default will be TEXT_UTF8.
     },
     &quot;contentMetadata&quot;: { # Metadata on content to be scanned. # User provided metadata for the content.
+      &quot;fileLabels&quot;: [ # Optional. The file labels associated with the content.
+        { # Represents a file label.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFields&quot;: [ # The field values of the Google Drive label
+              { # The field values of the Google Drive label
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: { # Set of primitive values supported by the system. Note that for the purposes of inspection or transformation, the number of bytes considered to comprise a &#x27;Value&#x27; is based on its representation as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to 123456789, the number of bytes would be counted as 9, even though an int64 only holds up to 8 bytes of data. # The value of the Label Field.
+                  &quot;booleanValue&quot;: True or False, # boolean
+                  &quot;dateValue&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # date
+                    &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+                    &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+                    &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+                  },
+                  &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
+                  &quot;floatValue&quot;: 3.14, # float
+                  &quot;integerValue&quot;: &quot;A String&quot;, # integer
+                  &quot;stringValue&quot;: &quot;A String&quot;, # string
+                  &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # time of day
+                    &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                    &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
+                    &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
+                    &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
+                  },
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
+                },
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # Required. The GUID of the sensitivity label.
+          },
+        },
+      ],
       &quot;properties&quot;: [ # User provided key-value pairs of content metadata.
         { # A key-value pair in the Metadata.
           &quot;key&quot;: &quot;A String&quot;, # The key of the property.
@@ -2214,6 +2296,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -2431,6 +2527,40 @@
       &quot;type&quot;: &quot;A String&quot;, # The type of data stored in the bytes string. Default will be TEXT_UTF8.
     },
     &quot;contentMetadata&quot;: { # Metadata on content to be scanned. # User provided metadata for the content.
+      &quot;fileLabels&quot;: [ # Optional. The file labels associated with the content.
+        { # Represents a file label.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFields&quot;: [ # The field values of the Google Drive label
+              { # The field values of the Google Drive label
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: { # Set of primitive values supported by the system. Note that for the purposes of inspection or transformation, the number of bytes considered to comprise a &#x27;Value&#x27; is based on its representation as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to 123456789, the number of bytes would be counted as 9, even though an int64 only holds up to 8 bytes of data. # The value of the Label Field.
+                  &quot;booleanValue&quot;: True or False, # boolean
+                  &quot;dateValue&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # date
+                    &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+                    &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+                    &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+                  },
+                  &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
+                  &quot;floatValue&quot;: 3.14, # float
+                  &quot;integerValue&quot;: &quot;A String&quot;, # integer
+                  &quot;stringValue&quot;: &quot;A String&quot;, # string
+                  &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # time of day
+                    &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                    &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
+                    &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
+                    &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
+                  },
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
+                },
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # Required. The GUID of the sensitivity label.
+          },
+        },
+      ],
       &quot;properties&quot;: [ # User provided key-value pairs of content metadata.
         { # A key-value pair in the Metadata.
           &quot;key&quot;: &quot;A String&quot;, # The key of the property.
@@ -2680,6 +2810,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -2897,6 +3041,40 @@
       &quot;type&quot;: &quot;A String&quot;, # The type of data stored in the bytes string. Default will be TEXT_UTF8.
     },
     &quot;contentMetadata&quot;: { # Metadata on content to be scanned. # User provided metadata for the content.
+      &quot;fileLabels&quot;: [ # Optional. The file labels associated with the content.
+        { # Represents a file label.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFields&quot;: [ # The field values of the Google Drive label
+              { # The field values of the Google Drive label
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: { # Set of primitive values supported by the system. Note that for the purposes of inspection or transformation, the number of bytes considered to comprise a &#x27;Value&#x27; is based on its representation as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to 123456789, the number of bytes would be counted as 9, even though an int64 only holds up to 8 bytes of data. # The value of the Label Field.
+                  &quot;booleanValue&quot;: True or False, # boolean
+                  &quot;dateValue&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # date
+                    &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+                    &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+                    &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+                  },
+                  &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
+                  &quot;floatValue&quot;: 3.14, # float
+                  &quot;integerValue&quot;: &quot;A String&quot;, # integer
+                  &quot;stringValue&quot;: &quot;A String&quot;, # string
+                  &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # time of day
+                    &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                    &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
+                    &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
+                    &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
+                  },
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
+                },
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # Required. The GUID of the sensitivity label.
+          },
+        },
+      ],
       &quot;properties&quot;: [ # User provided key-value pairs of content metadata.
         { # A key-value pair in the Metadata.
           &quot;key&quot;: &quot;A String&quot;, # The key of the property.
@@ -3828,6 +4006,40 @@
       &quot;type&quot;: &quot;A String&quot;, # The type of data stored in the bytes string. Default will be TEXT_UTF8.
     },
     &quot;contentMetadata&quot;: { # Metadata on content to be scanned. # User provided metadata for the content.
+      &quot;fileLabels&quot;: [ # Optional. The file labels associated with the content.
+        { # Represents a file label.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFields&quot;: [ # The field values of the Google Drive label
+              { # The field values of the Google Drive label
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: { # Set of primitive values supported by the system. Note that for the purposes of inspection or transformation, the number of bytes considered to comprise a &#x27;Value&#x27; is based on its representation as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to 123456789, the number of bytes would be counted as 9, even though an int64 only holds up to 8 bytes of data. # The value of the Label Field.
+                  &quot;booleanValue&quot;: True or False, # boolean
+                  &quot;dateValue&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # date
+                    &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+                    &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+                    &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+                  },
+                  &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
+                  &quot;floatValue&quot;: 3.14, # float
+                  &quot;integerValue&quot;: &quot;A String&quot;, # integer
+                  &quot;stringValue&quot;: &quot;A String&quot;, # string
+                  &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # time of day
+                    &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                    &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
+                    &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
+                    &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
+                  },
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
+                },
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # Required. The GUID of the sensitivity label.
+          },
+        },
+      ],
       &quot;properties&quot;: [ # User provided key-value pairs of content metadata.
         { # A key-value pair in the Metadata.
           &quot;key&quot;: &quot;A String&quot;, # The key of the property.
diff --git a/docs/dyn/dlp_v2.projects.locations.contentPolicies.html b/docs/dyn/dlp_v2.projects.locations.contentPolicies.html
index ac3ee8d..66f51f6 100644
--- a/docs/dyn/dlp_v2.projects.locations.contentPolicies.html
+++ b/docs/dyn/dlp_v2.projects.locations.contentPolicies.html
@@ -177,6 +177,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -422,6 +436,20 @@
               },
             },
             &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+            &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+              &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                  { # The field values of the Google Drive label to match.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                  },
+                ],
+                &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+              },
+              &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+              },
+            },
             &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
               &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
               &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -741,6 +769,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -986,6 +1028,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1328,6 +1384,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1573,6 +1643,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1901,6 +1985,20 @@
               },
             },
             &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+            &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+              &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                  { # The field values of the Google Drive label to match.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                  },
+                ],
+                &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+              },
+              &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+              },
+            },
             &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
               &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
               &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -2146,6 +2244,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -2483,6 +2595,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -2728,6 +2854,20 @@
               },
             },
             &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+            &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+              &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                  { # The field values of the Google Drive label to match.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                  },
+                ],
+                &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+              },
+              &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+              },
+            },
             &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
               &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
               &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -3047,6 +3187,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -3292,6 +3446,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.projects.locations.dlpJobs.html b/docs/dyn/dlp_v2.projects.locations.dlpJobs.html
index ef7aa7d..1dc3b79 100644
--- a/docs/dyn/dlp_v2.projects.locations.dlpJobs.html
+++ b/docs/dyn/dlp_v2.projects.locations.dlpJobs.html
@@ -227,6 +227,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -3401,6 +3415,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -3729,6 +3757,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -7287,6 +7329,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -7615,6 +7671,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -8457,6 +8527,40 @@
         &quot;type&quot;: &quot;A String&quot;, # The type of data stored in the bytes string. Default will be TEXT_UTF8.
       },
       &quot;contentMetadata&quot;: { # Metadata on content to be scanned. # User provided metadata for the content.
+        &quot;fileLabels&quot;: [ # Optional. The file labels associated with the content.
+          { # Represents a file label.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFields&quot;: [ # The field values of the Google Drive label
+                { # The field values of the Google Drive label
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: { # Set of primitive values supported by the system. Note that for the purposes of inspection or transformation, the number of bytes considered to comprise a &#x27;Value&#x27; is based on its representation as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to 123456789, the number of bytes would be counted as 9, even though an int64 only holds up to 8 bytes of data. # The value of the Label Field.
+                    &quot;booleanValue&quot;: True or False, # boolean
+                    &quot;dateValue&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # date
+                      &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+                      &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+                      &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+                    },
+                    &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
+                    &quot;floatValue&quot;: 3.14, # float
+                    &quot;integerValue&quot;: &quot;A String&quot;, # integer
+                    &quot;stringValue&quot;: &quot;A String&quot;, # string
+                    &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # time of day
+                      &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                      &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
+                      &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
+                      &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
+                    },
+                    &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
+                  },
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # Required. The GUID of the sensitivity label.
+            },
+          },
+        ],
         &quot;properties&quot;: [ # User provided key-value pairs of content metadata.
           { # A key-value pair in the Metadata.
             &quot;key&quot;: &quot;A String&quot;, # The key of the property.
@@ -11255,6 +11359,20 @@
                     },
                   },
                   &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+                  &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                    &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                      &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                        { # The field values of the Google Drive label to match.
+                          &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                        },
+                      ],
+                      &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                    },
+                    &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                      &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                    },
+                  },
                   &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                     &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                     &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -11583,6 +11701,20 @@
                     },
                   },
                   &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+                  &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                    &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                      &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                        { # The field values of the Google Drive label to match.
+                          &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                          &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                        },
+                      ],
+                      &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                    },
+                    &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                      &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                    },
+                  },
                   &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                     &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                     &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.projects.locations.fileStoreDataProfiles.html b/docs/dyn/dlp_v2.projects.locations.fileStoreDataProfiles.html
index f7e03a3..489f145 100644
--- a/docs/dyn/dlp_v2.projects.locations.fileStoreDataProfiles.html
+++ b/docs/dyn/dlp_v2.projects.locations.fileStoreDataProfiles.html
@@ -584,6 +584,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1419,6 +1433,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.projects.locations.image.html b/docs/dyn/dlp_v2.projects.locations.image.html
index 8885407..6e10119 100644
--- a/docs/dyn/dlp_v2.projects.locations.image.html
+++ b/docs/dyn/dlp_v2.projects.locations.image.html
@@ -156,6 +156,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.projects.locations.inspectTemplates.html b/docs/dyn/dlp_v2.projects.locations.inspectTemplates.html
index a296f15..9e890f6 100644
--- a/docs/dyn/dlp_v2.projects.locations.inspectTemplates.html
+++ b/docs/dyn/dlp_v2.projects.locations.inspectTemplates.html
@@ -153,6 +153,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -413,6 +427,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -695,6 +723,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -965,6 +1007,20 @@
               },
             },
             &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+            &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+              &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                  { # The field values of the Google Drive label to match.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                  },
+                ],
+                &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+              },
+              &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+              },
+            },
             &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
               &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
               &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1242,6 +1298,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1501,6 +1571,20 @@
           },
         },
         &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+        &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+          &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+            &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+              { # The field values of the Google Drive label to match.
+                &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+              },
+            ],
+            &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+          },
+          &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+            &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+          },
+        },
         &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
           &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
           &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.projects.locations.jobTriggers.html b/docs/dyn/dlp_v2.projects.locations.jobTriggers.html
index 8eecb9f..970bd21 100644
--- a/docs/dyn/dlp_v2.projects.locations.jobTriggers.html
+++ b/docs/dyn/dlp_v2.projects.locations.jobTriggers.html
@@ -2829,6 +2829,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -3157,6 +3171,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -4074,6 +4102,20 @@
               },
             },
             &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+            &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+              &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                  { # The field values of the Google Drive label to match.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                  },
+                ],
+                &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+              },
+              &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+              },
+            },
             &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
               &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
               &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -4493,6 +4535,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -4934,6 +4990,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -5283,6 +5353,40 @@
         &quot;type&quot;: &quot;A String&quot;, # The type of data stored in the bytes string. Default will be TEXT_UTF8.
       },
       &quot;contentMetadata&quot;: { # Metadata on content to be scanned. # User provided metadata for the content.
+        &quot;fileLabels&quot;: [ # Optional. The file labels associated with the content.
+          { # Represents a file label.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFields&quot;: [ # The field values of the Google Drive label
+                { # The field values of the Google Drive label
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: { # Set of primitive values supported by the system. Note that for the purposes of inspection or transformation, the number of bytes considered to comprise a &#x27;Value&#x27; is based on its representation as a UTF-8 encoded string. For example, if &#x27;integer_value&#x27; is set to 123456789, the number of bytes would be counted as 9, even though an int64 only holds up to 8 bytes of data. # The value of the Label Field.
+                    &quot;booleanValue&quot;: True or False, # boolean
+                    &quot;dateValue&quot;: { # Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp # date
+                      &quot;day&quot;: 42, # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn&#x27;t significant.
+                      &quot;month&quot;: 42, # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day.
+                      &quot;year&quot;: 42, # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year.
+                    },
+                    &quot;dayOfWeekValue&quot;: &quot;A String&quot;, # day of week
+                    &quot;floatValue&quot;: 3.14, # float
+                    &quot;integerValue&quot;: &quot;A String&quot;, # integer
+                    &quot;stringValue&quot;: &quot;A String&quot;, # string
+                    &quot;timeValue&quot;: { # Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. # time of day
+                      &quot;hours&quot;: 42, # Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value &quot;24:00:00&quot; for scenarios like business closing time.
+                      &quot;minutes&quot;: 42, # Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59.
+                      &quot;nanos&quot;: 42, # Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999.
+                      &quot;seconds&quot;: 42, # Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds.
+                    },
+                    &quot;timestampValue&quot;: &quot;A String&quot;, # timestamp
+                  },
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # Required. The GUID of the sensitivity label.
+            },
+          },
+        ],
         &quot;properties&quot;: [ # User provided key-value pairs of content metadata.
           { # A key-value pair in the Metadata.
             &quot;key&quot;: &quot;A String&quot;, # The key of the property.
@@ -5481,6 +5585,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -5917,6 +6035,20 @@
               },
             },
             &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+            &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+              &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                  { # The field values of the Google Drive label to match.
+                    &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                    &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                  },
+                ],
+                &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+              },
+              &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+              },
+            },
             &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
               &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
               &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -6335,6 +6467,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.projects.locations.storedInfoTypes.html b/docs/dyn/dlp_v2.projects.locations.storedInfoTypes.html
index 5f3e87d..9af8420 100644
--- a/docs/dyn/dlp_v2.projects.locations.storedInfoTypes.html
+++ b/docs/dyn/dlp_v2.projects.locations.storedInfoTypes.html
@@ -201,8 +201,8 @@
         &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
       },
     },
-    &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-    &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+    &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
       { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
         &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
           &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -219,14 +219,14 @@
         ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
       &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
         &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
       },
     },
   },
-  &quot;name&quot;: &quot;A String&quot;, # Resource name.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
     { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
       &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -267,8 +267,8 @@
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
         },
       },
-      &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-      &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+      &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
         { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
           &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
             &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -285,8 +285,8 @@
           ],
         },
       ],
-      &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
         &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
           &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
         },
@@ -368,8 +368,8 @@
         &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
       },
     },
-    &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-    &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+    &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
       { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
         &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
           &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -386,14 +386,14 @@
         ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
       &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
         &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
       },
     },
   },
-  &quot;name&quot;: &quot;A String&quot;, # Resource name.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
     { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
       &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -434,8 +434,8 @@
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
         },
       },
-      &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-      &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+      &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
         { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
           &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
             &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -452,8 +452,8 @@
           ],
         },
       ],
-      &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
         &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
           &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
         },
@@ -524,8 +524,8 @@
             &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
           },
         },
-        &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-        &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+        &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
           { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
             &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
               &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -542,14 +542,14 @@
             ],
           },
         ],
-        &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-        &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+        &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+        &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
           &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
             &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
           },
         },
       },
-      &quot;name&quot;: &quot;A String&quot;, # Resource name.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
       &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
         { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
           &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -590,8 +590,8 @@
               &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
             },
           },
-          &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-          &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+          &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+          &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
             { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
               &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
                 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -608,8 +608,8 @@
               ],
             },
           ],
-          &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-          &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+          &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+          &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
             &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
               &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
             },
@@ -734,8 +734,8 @@
         &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
       },
     },
-    &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-    &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+    &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
       { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
         &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
           &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -752,14 +752,14 @@
         ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
       &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
         &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
       },
     },
   },
-  &quot;name&quot;: &quot;A String&quot;, # Resource name.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
     { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
       &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -800,8 +800,8 @@
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
         },
       },
-      &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-      &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+      &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
         { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
           &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
             &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -818,8 +818,8 @@
           ],
         },
       ],
-      &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
         &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
           &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
         },
diff --git a/docs/dyn/dlp_v2.projects.locations.tableDataProfiles.html b/docs/dyn/dlp_v2.projects.locations.tableDataProfiles.html
index 83b2fdd..11a7560 100644
--- a/docs/dyn/dlp_v2.projects.locations.tableDataProfiles.html
+++ b/docs/dyn/dlp_v2.projects.locations.tableDataProfiles.html
@@ -584,6 +584,20 @@
             },
           },
           &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+          &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+            &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+              &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                { # The field values of the Google Drive label to match.
+                  &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                  &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                },
+              ],
+              &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+            },
+            &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+              &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+            },
+          },
           &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
             &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
             &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
@@ -1363,6 +1377,20 @@
                 },
               },
               &quot;exclusionType&quot;: &quot;A String&quot;, # If set to EXCLUSION_TYPE_EXCLUDE this infoType will not cause a finding to be returned. It still can be used for rules matching. Only supported for the `dictionary`, `regex`, and `stored_type` CustomInfoTypes.
+              &quot;fileLabelInfoType&quot;: { # Configuration for a custom infoType that detects file labels. # File label to detect.
+                &quot;googleDriveLabel&quot;: { # Google Drive labels published by Google. # Google Drive labels published by Google.
+                  &quot;labelFieldsToMatch&quot;: [ # The field values of the Google Drive label to match.
+                    { # The field values of the Google Drive label to match.
+                      &quot;id&quot;: &quot;A String&quot;, # The identifier of the Label Field.
+                      &quot;value&quot;: &quot;A String&quot;, # The value of the Label Field to match.
+                    },
+                  ],
+                  &quot;labelId&quot;: &quot;A String&quot;, # The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.
+                },
+                &quot;sensitivityLabel&quot;: { # Sensitivity labels published by Microsoft. # Sensitivity labels published by Microsoft.
+                  &quot;guid&quot;: &quot;A String&quot;, # The GUID of the sensitivity label.
+                },
+              },
               &quot;infoType&quot;: { # Type of information detected by the API. # CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type.
                 &quot;name&quot;: &quot;A String&quot;, # Name of the information type. Either a name of your choosing when creating a CustomInfoType, or one of the names listed at https://cloud.google.com/sensitive-data-protection/docs/infotypes-reference when specifying a built-in type. When sending Cloud DLP results to Data Catalog, infoType names should conform to the pattern `[A-Za-z0-9$_-]{1,64}`.
                 &quot;sensitivityScore&quot;: { # Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive. # Optional custom sensitivity for this InfoType. This only applies to data profiling.
diff --git a/docs/dyn/dlp_v2.projects.storedInfoTypes.html b/docs/dyn/dlp_v2.projects.storedInfoTypes.html
index ce32e74..d8649a2 100644
--- a/docs/dyn/dlp_v2.projects.storedInfoTypes.html
+++ b/docs/dyn/dlp_v2.projects.storedInfoTypes.html
@@ -201,8 +201,8 @@
         &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
       },
     },
-    &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-    &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+    &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
       { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
         &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
           &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -219,14 +219,14 @@
         ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
       &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
         &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
       },
     },
   },
-  &quot;name&quot;: &quot;A String&quot;, # Resource name.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
     { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
       &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -267,8 +267,8 @@
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
         },
       },
-      &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-      &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+      &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
         { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
           &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
             &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -285,8 +285,8 @@
           ],
         },
       ],
-      &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
         &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
           &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
         },
@@ -368,8 +368,8 @@
         &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
       },
     },
-    &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-    &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+    &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
       { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
         &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
           &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -386,14 +386,14 @@
         ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
       &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
         &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
       },
     },
   },
-  &quot;name&quot;: &quot;A String&quot;, # Resource name.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
     { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
       &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -434,8 +434,8 @@
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
         },
       },
-      &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-      &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+      &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
         { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
           &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
             &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -452,8 +452,8 @@
           ],
         },
       ],
-      &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
         &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
           &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
         },
@@ -524,8 +524,8 @@
             &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
           },
         },
-        &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-        &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+        &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+        &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
           { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
             &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
               &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -542,14 +542,14 @@
             ],
           },
         ],
-        &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-        &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+        &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+        &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
           &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
             &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
           },
         },
       },
-      &quot;name&quot;: &quot;A String&quot;, # Resource name.
+      &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
       &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
         { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
           &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -590,8 +590,8 @@
               &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
             },
           },
-          &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-          &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+          &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+          &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
             { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
               &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
                 &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -608,8 +608,8 @@
               ],
             },
           ],
-          &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-          &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+          &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+          &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
             &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
               &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
             },
@@ -734,8 +734,8 @@
         &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
       },
     },
-    &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-    &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+    &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+    &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
       { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
         &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
           &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -752,14 +752,14 @@
         ],
       },
     ],
-    &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+    &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+    &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
       &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
         &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
       },
     },
   },
-  &quot;name&quot;: &quot;A String&quot;, # Resource name.
+  &quot;name&quot;: &quot;A String&quot;, # Output only. Resource name.
   &quot;pendingVersions&quot;: [ # Pending versions of the stored info type. Empty if no versions are pending.
     { # Version of a StoredInfoType, including the configuration used to build it, create timestamp, and current state.
       &quot;config&quot;: { # Configuration for stored infoTypes. All fields and subfield are provided by the user. For more information, see https://cloud.google.com/sensitive-data-protection/docs/creating-custom-infotypes. # StoredInfoType configuration.
@@ -800,8 +800,8 @@
           &quot;pattern&quot;: &quot;A String&quot;, # Pattern defining the regular expression. Its syntax (https://github.com/google/re2/wiki/Syntax) can be found under the google/re2 repository on GitHub.
         },
       },
-      &quot;createTime&quot;: &quot;A String&quot;, # Create timestamp of the version. Read-only, determined by the system when the version is created.
-      &quot;errors&quot;: [ # Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.
+      &quot;errors&quot;: [ # Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user&#x27;s Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.
         { # Details information about an error encountered during job execution or the results of an unsuccessful activation of the JobTrigger.
           &quot;details&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Detailed error codes and messages.
             &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
@@ -818,8 +818,8 @@
           ],
         },
       ],
-      &quot;state&quot;: &quot;A String&quot;, # Stored info type version state. Read-only, updated by the system during dictionary creation.
-      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Statistics about this storedInfoType version.
+      &quot;state&quot;: &quot;A String&quot;, # Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.
+      &quot;stats&quot;: { # Statistics for a StoredInfoType. # Output only. Statistics about this storedInfoType version.
         &quot;largeCustomDictionary&quot;: { # Summary statistics of a custom dictionary. # StoredInfoType where findings are defined by a dictionary of phrases.
           &quot;approxNumPhrases&quot;: &quot;A String&quot;, # Approximate number of distinct phrases in the dictionary.
         },
diff --git a/docs/dyn/drive_v3.changes.html b/docs/dyn/drive_v3.changes.html
index e3b6c96..1c36ff1 100644
--- a/docs/dyn/drive_v3.changes.html
+++ b/docs/dyn/drive_v3.changes.html
@@ -208,6 +208,7 @@
         },
         &quot;capabilities&quot;: { # Output only. Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take. For more information, see [Understand file capabilities](https://developers.google.com/workspace/drive/api/guides/manage-sharing#capabilities).
           &quot;canAcceptOwnership&quot;: True or False, # Output only. Whether the current user is the pending owner of the file. Not populated for shared drive files.
+          &quot;canAccessViaGenAi&quot;: True or False, # Whether the current user can access this file via Gen AI features.
           &quot;canAddChildren&quot;: True or False, # Output only. Whether the current user can add children to this folder. This is always `false` when the item isn&#x27;t a folder.
           &quot;canAddFolderFromAnotherDrive&quot;: True or False, # Output only. Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is `false` when the item isn&#x27;t a folder. Only populated for items in shared drives.
           &quot;canAddMyDriveParent&quot;: True or False, # Output only. Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files.
diff --git a/docs/dyn/drive_v3.files.html b/docs/dyn/drive_v3.files.html
index bb9a54f..578368b 100644
--- a/docs/dyn/drive_v3.files.html
+++ b/docs/dyn/drive_v3.files.html
@@ -153,6 +153,7 @@
   },
   &quot;capabilities&quot;: { # Output only. Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take. For more information, see [Understand file capabilities](https://developers.google.com/workspace/drive/api/guides/manage-sharing#capabilities).
     &quot;canAcceptOwnership&quot;: True or False, # Output only. Whether the current user is the pending owner of the file. Not populated for shared drive files.
+    &quot;canAccessViaGenAi&quot;: True or False, # Whether the current user can access this file via Gen AI features.
     &quot;canAddChildren&quot;: True or False, # Output only. Whether the current user can add children to this folder. This is always `false` when the item isn&#x27;t a folder.
     &quot;canAddFolderFromAnotherDrive&quot;: True or False, # Output only. Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is `false` when the item isn&#x27;t a folder. Only populated for items in shared drives.
     &quot;canAddMyDriveParent&quot;: True or False, # Output only. Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files.
@@ -477,6 +478,7 @@
   },
   &quot;capabilities&quot;: { # Output only. Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take. For more information, see [Understand file capabilities](https://developers.google.com/workspace/drive/api/guides/manage-sharing#capabilities).
     &quot;canAcceptOwnership&quot;: True or False, # Output only. Whether the current user is the pending owner of the file. Not populated for shared drive files.
+    &quot;canAccessViaGenAi&quot;: True or False, # Whether the current user can access this file via Gen AI features.
     &quot;canAddChildren&quot;: True or False, # Output only. Whether the current user can add children to this folder. This is always `false` when the item isn&#x27;t a folder.
     &quot;canAddFolderFromAnotherDrive&quot;: True or False, # Output only. Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is `false` when the item isn&#x27;t a folder. Only populated for items in shared drives.
     &quot;canAddMyDriveParent&quot;: True or False, # Output only. Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files.
@@ -794,6 +796,7 @@
   },
   &quot;capabilities&quot;: { # Output only. Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take. For more information, see [Understand file capabilities](https://developers.google.com/workspace/drive/api/guides/manage-sharing#capabilities).
     &quot;canAcceptOwnership&quot;: True or False, # Output only. Whether the current user is the pending owner of the file. Not populated for shared drive files.
+    &quot;canAccessViaGenAi&quot;: True or False, # Whether the current user can access this file via Gen AI features.
     &quot;canAddChildren&quot;: True or False, # Output only. Whether the current user can add children to this folder. This is always `false` when the item isn&#x27;t a folder.
     &quot;canAddFolderFromAnotherDrive&quot;: True or False, # Output only. Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is `false` when the item isn&#x27;t a folder. Only populated for items in shared drives.
     &quot;canAddMyDriveParent&quot;: True or False, # Output only. Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files.
@@ -1121,6 +1124,7 @@
   },
   &quot;capabilities&quot;: { # Output only. Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take. For more information, see [Understand file capabilities](https://developers.google.com/workspace/drive/api/guides/manage-sharing#capabilities).
     &quot;canAcceptOwnership&quot;: True or False, # Output only. Whether the current user is the pending owner of the file. Not populated for shared drive files.
+    &quot;canAccessViaGenAi&quot;: True or False, # Whether the current user can access this file via Gen AI features.
     &quot;canAddChildren&quot;: True or False, # Output only. Whether the current user can add children to this folder. This is always `false` when the item isn&#x27;t a folder.
     &quot;canAddFolderFromAnotherDrive&quot;: True or False, # Output only. Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is `false` when the item isn&#x27;t a folder. Only populated for items in shared drives.
     &quot;canAddMyDriveParent&quot;: True or False, # Output only. Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files.
@@ -1593,6 +1597,7 @@
   },
   &quot;capabilities&quot;: { # Output only. Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take. For more information, see [Understand file capabilities](https://developers.google.com/workspace/drive/api/guides/manage-sharing#capabilities).
     &quot;canAcceptOwnership&quot;: True or False, # Output only. Whether the current user is the pending owner of the file. Not populated for shared drive files.
+    &quot;canAccessViaGenAi&quot;: True or False, # Whether the current user can access this file via Gen AI features.
     &quot;canAddChildren&quot;: True or False, # Output only. Whether the current user can add children to this folder. This is always `false` when the item isn&#x27;t a folder.
     &quot;canAddFolderFromAnotherDrive&quot;: True or False, # Output only. Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is `false` when the item isn&#x27;t a folder. Only populated for items in shared drives.
     &quot;canAddMyDriveParent&quot;: True or False, # Output only. Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files.
@@ -1957,6 +1962,7 @@
       },
       &quot;capabilities&quot;: { # Output only. Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take. For more information, see [Understand file capabilities](https://developers.google.com/workspace/drive/api/guides/manage-sharing#capabilities).
         &quot;canAcceptOwnership&quot;: True or False, # Output only. Whether the current user is the pending owner of the file. Not populated for shared drive files.
+        &quot;canAccessViaGenAi&quot;: True or False, # Whether the current user can access this file via Gen AI features.
         &quot;canAddChildren&quot;: True or False, # Output only. Whether the current user can add children to this folder. This is always `false` when the item isn&#x27;t a folder.
         &quot;canAddFolderFromAnotherDrive&quot;: True or False, # Output only. Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is `false` when the item isn&#x27;t a folder. Only populated for items in shared drives.
         &quot;canAddMyDriveParent&quot;: True or False, # Output only. Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files.
@@ -2457,6 +2463,7 @@
   },
   &quot;capabilities&quot;: { # Output only. Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take. For more information, see [Understand file capabilities](https://developers.google.com/workspace/drive/api/guides/manage-sharing#capabilities).
     &quot;canAcceptOwnership&quot;: True or False, # Output only. Whether the current user is the pending owner of the file. Not populated for shared drive files.
+    &quot;canAccessViaGenAi&quot;: True or False, # Whether the current user can access this file via Gen AI features.
     &quot;canAddChildren&quot;: True or False, # Output only. Whether the current user can add children to this folder. This is always `false` when the item isn&#x27;t a folder.
     &quot;canAddFolderFromAnotherDrive&quot;: True or False, # Output only. Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is `false` when the item isn&#x27;t a folder. Only populated for items in shared drives.
     &quot;canAddMyDriveParent&quot;: True or False, # Output only. Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files.
@@ -2785,6 +2792,7 @@
   },
   &quot;capabilities&quot;: { # Output only. Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take. For more information, see [Understand file capabilities](https://developers.google.com/workspace/drive/api/guides/manage-sharing#capabilities).
     &quot;canAcceptOwnership&quot;: True or False, # Output only. Whether the current user is the pending owner of the file. Not populated for shared drive files.
+    &quot;canAccessViaGenAi&quot;: True or False, # Whether the current user can access this file via Gen AI features.
     &quot;canAddChildren&quot;: True or False, # Output only. Whether the current user can add children to this folder. This is always `false` when the item isn&#x27;t a folder.
     &quot;canAddFolderFromAnotherDrive&quot;: True or False, # Output only. Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is `false` when the item isn&#x27;t a folder. Only populated for items in shared drives.
     &quot;canAddMyDriveParent&quot;: True or False, # Output only. Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files.
diff --git a/docs/dyn/fcm_v1.projects.messages.html b/docs/dyn/fcm_v1.projects.messages.html
index 0d91aea..8ed2a50 100644
--- a/docs/dyn/fcm_v1.projects.messages.html
+++ b/docs/dyn/fcm_v1.projects.messages.html
@@ -130,7 +130,7 @@
             &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
             &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
           },
-          &quot;lightOffDuration&quot;: &quot;A String&quot;, # Required. Along with `light_on_duration `, define the blink rate of LED flashes. Resolution defined by [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
+          &quot;lightOffDuration&quot;: &quot;A String&quot;, # Required. Along with `light_on_duration`, define the blink rate of LED flashes. Resolution defined by [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
           &quot;lightOnDuration&quot;: &quot;A String&quot;, # Required. Along with `light_off_duration`, define the blink rate of LED flashes. Resolution defined by [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
         },
         &quot;localOnly&quot;: True or False, # Set whether or not this notification is relevant only to the current device. Some notifications can be bridged to other devices for remote display, such as a Wear OS watch. This hint can be set to recommend this notification not be bridged. See [Wear OS guides](https://developer.android.com/training/wearables/notifications/bridger#existing-method-of-preventing-bridging)
@@ -176,7 +176,7 @@
     &quot;fcmOptions&quot;: { # Platform independent options for features provided by the FCM SDKs. # Input only. Template for FCM SDK feature options to use across all platforms.
       &quot;analyticsLabel&quot;: &quot;A String&quot;, # Label associated with the message&#x27;s analytics data.
     },
-    &quot;fid&quot;: &quot;A String&quot;, # Optional. Firebase Installation ID to send a message to.
+    &quot;fid&quot;: &quot;A String&quot;, # Firebase Installation ID to send a message to.
     &quot;name&quot;: &quot;A String&quot;, # Output Only. The identifier of the message sent, in the format of `projects/*/messages/{message_id}`.
     &quot;notification&quot;: { # Basic notification template to use across all platforms. # Input only. Basic notification template to use across all platforms.
       &quot;body&quot;: &quot;A String&quot;, # The notification&#x27;s body text.
@@ -246,7 +246,7 @@
           &quot;green&quot;: 3.14, # The amount of green in the color as a value in the interval [0, 1].
           &quot;red&quot;: 3.14, # The amount of red in the color as a value in the interval [0, 1].
         },
-        &quot;lightOffDuration&quot;: &quot;A String&quot;, # Required. Along with `light_on_duration `, define the blink rate of LED flashes. Resolution defined by [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
+        &quot;lightOffDuration&quot;: &quot;A String&quot;, # Required. Along with `light_on_duration`, define the blink rate of LED flashes. Resolution defined by [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
         &quot;lightOnDuration&quot;: &quot;A String&quot;, # Required. Along with `light_off_duration`, define the blink rate of LED flashes. Resolution defined by [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)
       },
       &quot;localOnly&quot;: True or False, # Set whether or not this notification is relevant only to the current device. Some notifications can be bridged to other devices for remote display, such as a Wear OS watch. This hint can be set to recommend this notification not be bridged. See [Wear OS guides](https://developer.android.com/training/wearables/notifications/bridger#existing-method-of-preventing-bridging)
@@ -292,7 +292,7 @@
   &quot;fcmOptions&quot;: { # Platform independent options for features provided by the FCM SDKs. # Input only. Template for FCM SDK feature options to use across all platforms.
     &quot;analyticsLabel&quot;: &quot;A String&quot;, # Label associated with the message&#x27;s analytics data.
   },
-  &quot;fid&quot;: &quot;A String&quot;, # Optional. Firebase Installation ID to send a message to.
+  &quot;fid&quot;: &quot;A String&quot;, # Firebase Installation ID to send a message to.
   &quot;name&quot;: &quot;A String&quot;, # Output Only. The identifier of the message sent, in the format of `projects/*/messages/{message_id}`.
   &quot;notification&quot;: { # Basic notification template to use across all platforms. # Input only. Basic notification template to use across all platforms.
     &quot;body&quot;: &quot;A String&quot;, # The notification&#x27;s body text.
diff --git a/docs/dyn/file_v1beta1.projects.locations.html b/docs/dyn/file_v1beta1.projects.locations.html
index 3683e58..ed72e7c 100644
--- a/docs/dyn/file_v1beta1.projects.locations.html
+++ b/docs/dyn/file_v1beta1.projects.locations.html
@@ -90,6 +90,11 @@
 <p class="firstline">Returns the operations Resource.</p>
 
 <p class="toc_element">
+  <code><a href="file_v1beta1.projects.locations.sharePools.html">sharePools()</a></code>
+</p>
+<p class="firstline">Returns the sharePools 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/file_v1beta1.projects.locations.sharePools.html b/docs/dyn/file_v1beta1.projects.locations.sharePools.html
new file mode 100644
index 0000000..647c8c2
--- /dev/null
+++ b/docs/dyn/file_v1beta1.projects.locations.sharePools.html
@@ -0,0 +1,146 @@
+<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="file_v1beta1.html">Cloud Filestore API</a> . <a href="file_v1beta1.projects.html">projects</a> . <a href="file_v1beta1.projects.locations.html">locations</a> . <a href="file_v1beta1.projects.locations.sharePools.html">sharePools</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#acquireShare">acquireShare(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Acquires a share synchronously from the pre-provisioned share pool.</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="#releaseShare">releaseShare(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Releases a share synchronously, marking it for background scrubbing.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="acquireShare">acquireShare(parent, body=None, x__xgafv=None)</code>
+  <pre>Acquires a share synchronously from the pre-provisioned share pool.
+
+Args:
+  parent: string, Required. The parent share pool path, in the format `projects/{project}/locations/{location}/sharePools/{share_pool}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for AcquireShare.
+  &quot;capacityGb&quot;: 42, # Required. Requested size of the share in GiB.
+  &quot;requestId&quot;: &quot;A String&quot;, # Required. Unique string generated by the CSI driver for exact retry idempotency.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Output message for AcquireShare.
+  &quot;ipAddress&quot;: &quot;A String&quot;, # The IP address of the physical Filestore instance hosting the share.
+  &quot;shareId&quot;: &quot;A String&quot;, # The specific share identifier on the instance.
+}</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="releaseShare">releaseShare(parent, body=None, x__xgafv=None)</code>
+  <pre>Releases a share synchronously, marking it for background scrubbing.
+
+Args:
+  parent: string, Required. The parent share pool path, in the format `projects/{project}/locations/{location}/sharePools/{share_pool}`. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for ReleaseShare.
+  &quot;ipAddress&quot;: &quot;A String&quot;, # Required. The IP address of the physical Filestore instance hosting the share.
+  &quot;shareId&quot;: &quot;A String&quot;, # Required. The specific share ID on the instance.
+}
+
+  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 ReleaseShare.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/firebaseapphosting_v1beta.projects.locations.backends.builds.html b/docs/dyn/firebaseapphosting_v1beta.projects.locations.backends.builds.html
index 3981c9c..eb0b56b 100644
--- a/docs/dyn/firebaseapphosting_v1beta.projects.locations.backends.builds.html
+++ b/docs/dyn/firebaseapphosting_v1beta.projects.locations.backends.builds.html
@@ -211,6 +211,31 @@
     &quot;container&quot;: { # The URI of an Artifact Registry [container image](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations.repositories.dockerImages) to use as the build source. # An Artifact Registry container image source.
       &quot;image&quot;: &quot;A String&quot;, # Required. A URI representing a container for the backend to use.
     },
+    &quot;locallyBuilt&quot;: { # The URI of an storage archive to use as the build source. # A source that was pre-built locally.
+      &quot;description&quot;: &quot;A String&quot;, # Optional. An optional message that describes the uploaded version of the source code.
+      &quot;env&quot;: [ # Optional. Supplied runtime environment variables for a specific build. Provided at Build creation time and immutable afterwards.
+        { # Environment variables for this build.
+          &quot;availability&quot;: [ # Optional. Where this variable should be made available. If left unspecified, will be available in both BUILD and BACKEND.
+            &quot;A String&quot;,
+          ],
+          &quot;origin&quot;: &quot;A String&quot;, # Output only. The high-level origin category of the environment variable.
+          &quot;originFileName&quot;: &quot;A String&quot;, # Output only. Specific detail about the source. For APPHOSTING_YAML origins, this will contain the exact filename, such as &quot;apphosting.yaml&quot; or &quot;apphosting.staging.yaml&quot;.
+          &quot;secret&quot;: &quot;A String&quot;, # A fully qualified secret version. The value of the secret will be accessed once while building the application and once per cold start of the container at runtime. The service account used by Cloud Build and by Cloud Run must each have the `secretmanager.versions.access` permission on the secret.
+          &quot;value&quot;: &quot;A String&quot;, # A plaintext value. This value is encrypted at rest, but all project readers can view the value when reading your backend configuration.
+          &quot;variable&quot;: &quot;A String&quot;, # Required. The name of the environment variable. The environment variables reserved by [Cloud Run](https://docs.cloud.google.com/run/docs/configuring/services/environment-variables#reserved) should not be set. Additionally, variable names cannot start with &quot;X_FIREBASE_&quot;.
+        },
+      ],
+      &quot;rootDirectory&quot;: &quot;A String&quot;, # Optional. The directory relative to the root of the archive to use as the root for the deployed web app. Defaults to use the root of the repository if not provided. If deploying a [monorepo](https://firebase.google.com/docs/app-hosting/monorepos), this should be the directory that contains the built source of the app.
+      &quot;runCommand&quot;: &quot;A String&quot;, # Optional. The command to run to start the app. If provided, it will override apphosting&#x27;s default run commands. See [`Override build and run scripts`](https://firebase.google.com/docs/app-hosting/configure#override-scripts)
+      &quot;runConfig&quot;: { # Configuration applied to the Cloud Run [`service`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services#resource:-service). # Optional. Additional configuration of the Cloud Run [`service`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services#resource:-service).
+        &quot;concurrency&quot;: 42, # Optional. Maximum number of requests that each Cloud Run instance can receive. By default, each instance can receive Cloud Run&#x27;s default of up to 80 requests at the same time. Concurrency can be set to any integer value up to 1000.
+        &quot;cpu&quot;: 3.14, # Optional. Number of CPUs used for each serving instance. By default, cpu defaults to the Cloud Run&#x27;s default of 1.0. CPU can be set to value 1, 2, 4, 6, or 8 CPUs, and for less than 1 CPU, a value from 0.08 to less than 1.00, in increments of 0.01. If you set a value of less than 1 CPU, you must set concurrency to 1, and CPU will only be allocated during request processing. Increasing CPUs limit may require increase in memory limits: - 4 CPUs: at least 2 GiB - 6 CPUs: at least 4 GiB - 8 CPUs: at least 4 GiB
+        &quot;maxInstances&quot;: 42, # Optional. Number of Cloud Run instances to maintain at maximum for each revision. By default, each Cloud Run [`service`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services#resource:-service) scales out to Cloud Run&#x27;s default of a maximum of 100 instances. The maximum max_instances limit is based on your quota. See https://cloud.google.com/run/docs/configuring/max-instances#limits.
+        &quot;memoryMib&quot;: 42, # Optional. Amount of memory allocated for each serving instance in MiB. By default, memory defaults to the Cloud Run&#x27;s default where each instance is allocated 512 MiB of memory. Memory can be set to any integer value between 128 to 32768. Increasing memory limit may require increase in CPUs limits: - Over 4 GiB: at least 2 CPUs - Over 8 GiB: at least 4 CPUs - Over 16 GiB: at least 6 CPUs - Over 24 GiB: at least 8 CPUs
+        &quot;minInstances&quot;: 42, # Optional. Number of Cloud Run instances to maintain at minimum for each Cloud Run Service. By default, there are no minimum. Even if the service splits traffic across multiple revisions, the total number of instances for a service will be capped at this value.
+      },
+      &quot;userStorageUri&quot;: &quot;A String&quot;, # URI to an archive in Cloud Storage. The object must be a gzipped archive file (.tar.gz) containing source to deploy.
+    },
   },
   &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the build.
   &quot;uid&quot;: &quot;A String&quot;, # Output only. System-assigned, unique identifier.
@@ -405,6 +430,31 @@
     &quot;container&quot;: { # The URI of an Artifact Registry [container image](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations.repositories.dockerImages) to use as the build source. # An Artifact Registry container image source.
       &quot;image&quot;: &quot;A String&quot;, # Required. A URI representing a container for the backend to use.
     },
+    &quot;locallyBuilt&quot;: { # The URI of an storage archive to use as the build source. # A source that was pre-built locally.
+      &quot;description&quot;: &quot;A String&quot;, # Optional. An optional message that describes the uploaded version of the source code.
+      &quot;env&quot;: [ # Optional. Supplied runtime environment variables for a specific build. Provided at Build creation time and immutable afterwards.
+        { # Environment variables for this build.
+          &quot;availability&quot;: [ # Optional. Where this variable should be made available. If left unspecified, will be available in both BUILD and BACKEND.
+            &quot;A String&quot;,
+          ],
+          &quot;origin&quot;: &quot;A String&quot;, # Output only. The high-level origin category of the environment variable.
+          &quot;originFileName&quot;: &quot;A String&quot;, # Output only. Specific detail about the source. For APPHOSTING_YAML origins, this will contain the exact filename, such as &quot;apphosting.yaml&quot; or &quot;apphosting.staging.yaml&quot;.
+          &quot;secret&quot;: &quot;A String&quot;, # A fully qualified secret version. The value of the secret will be accessed once while building the application and once per cold start of the container at runtime. The service account used by Cloud Build and by Cloud Run must each have the `secretmanager.versions.access` permission on the secret.
+          &quot;value&quot;: &quot;A String&quot;, # A plaintext value. This value is encrypted at rest, but all project readers can view the value when reading your backend configuration.
+          &quot;variable&quot;: &quot;A String&quot;, # Required. The name of the environment variable. The environment variables reserved by [Cloud Run](https://docs.cloud.google.com/run/docs/configuring/services/environment-variables#reserved) should not be set. Additionally, variable names cannot start with &quot;X_FIREBASE_&quot;.
+        },
+      ],
+      &quot;rootDirectory&quot;: &quot;A String&quot;, # Optional. The directory relative to the root of the archive to use as the root for the deployed web app. Defaults to use the root of the repository if not provided. If deploying a [monorepo](https://firebase.google.com/docs/app-hosting/monorepos), this should be the directory that contains the built source of the app.
+      &quot;runCommand&quot;: &quot;A String&quot;, # Optional. The command to run to start the app. If provided, it will override apphosting&#x27;s default run commands. See [`Override build and run scripts`](https://firebase.google.com/docs/app-hosting/configure#override-scripts)
+      &quot;runConfig&quot;: { # Configuration applied to the Cloud Run [`service`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services#resource:-service). # Optional. Additional configuration of the Cloud Run [`service`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services#resource:-service).
+        &quot;concurrency&quot;: 42, # Optional. Maximum number of requests that each Cloud Run instance can receive. By default, each instance can receive Cloud Run&#x27;s default of up to 80 requests at the same time. Concurrency can be set to any integer value up to 1000.
+        &quot;cpu&quot;: 3.14, # Optional. Number of CPUs used for each serving instance. By default, cpu defaults to the Cloud Run&#x27;s default of 1.0. CPU can be set to value 1, 2, 4, 6, or 8 CPUs, and for less than 1 CPU, a value from 0.08 to less than 1.00, in increments of 0.01. If you set a value of less than 1 CPU, you must set concurrency to 1, and CPU will only be allocated during request processing. Increasing CPUs limit may require increase in memory limits: - 4 CPUs: at least 2 GiB - 6 CPUs: at least 4 GiB - 8 CPUs: at least 4 GiB
+        &quot;maxInstances&quot;: 42, # Optional. Number of Cloud Run instances to maintain at maximum for each revision. By default, each Cloud Run [`service`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services#resource:-service) scales out to Cloud Run&#x27;s default of a maximum of 100 instances. The maximum max_instances limit is based on your quota. See https://cloud.google.com/run/docs/configuring/max-instances#limits.
+        &quot;memoryMib&quot;: 42, # Optional. Amount of memory allocated for each serving instance in MiB. By default, memory defaults to the Cloud Run&#x27;s default where each instance is allocated 512 MiB of memory. Memory can be set to any integer value between 128 to 32768. Increasing memory limit may require increase in CPUs limits: - Over 4 GiB: at least 2 CPUs - Over 8 GiB: at least 4 CPUs - Over 16 GiB: at least 6 CPUs - Over 24 GiB: at least 8 CPUs
+        &quot;minInstances&quot;: 42, # Optional. Number of Cloud Run instances to maintain at minimum for each Cloud Run Service. By default, there are no minimum. Even if the service splits traffic across multiple revisions, the total number of instances for a service will be capped at this value.
+      },
+      &quot;userStorageUri&quot;: &quot;A String&quot;, # URI to an archive in Cloud Storage. The object must be a gzipped archive file (.tar.gz) containing source to deploy.
+    },
   },
   &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the build.
   &quot;uid&quot;: &quot;A String&quot;, # Output only. System-assigned, unique identifier.
@@ -537,6 +587,31 @@
         &quot;container&quot;: { # The URI of an Artifact Registry [container image](https://cloud.google.com/artifact-registry/docs/reference/rest/v1/projects.locations.repositories.dockerImages) to use as the build source. # An Artifact Registry container image source.
           &quot;image&quot;: &quot;A String&quot;, # Required. A URI representing a container for the backend to use.
         },
+        &quot;locallyBuilt&quot;: { # The URI of an storage archive to use as the build source. # A source that was pre-built locally.
+          &quot;description&quot;: &quot;A String&quot;, # Optional. An optional message that describes the uploaded version of the source code.
+          &quot;env&quot;: [ # Optional. Supplied runtime environment variables for a specific build. Provided at Build creation time and immutable afterwards.
+            { # Environment variables for this build.
+              &quot;availability&quot;: [ # Optional. Where this variable should be made available. If left unspecified, will be available in both BUILD and BACKEND.
+                &quot;A String&quot;,
+              ],
+              &quot;origin&quot;: &quot;A String&quot;, # Output only. The high-level origin category of the environment variable.
+              &quot;originFileName&quot;: &quot;A String&quot;, # Output only. Specific detail about the source. For APPHOSTING_YAML origins, this will contain the exact filename, such as &quot;apphosting.yaml&quot; or &quot;apphosting.staging.yaml&quot;.
+              &quot;secret&quot;: &quot;A String&quot;, # A fully qualified secret version. The value of the secret will be accessed once while building the application and once per cold start of the container at runtime. The service account used by Cloud Build and by Cloud Run must each have the `secretmanager.versions.access` permission on the secret.
+              &quot;value&quot;: &quot;A String&quot;, # A plaintext value. This value is encrypted at rest, but all project readers can view the value when reading your backend configuration.
+              &quot;variable&quot;: &quot;A String&quot;, # Required. The name of the environment variable. The environment variables reserved by [Cloud Run](https://docs.cloud.google.com/run/docs/configuring/services/environment-variables#reserved) should not be set. Additionally, variable names cannot start with &quot;X_FIREBASE_&quot;.
+            },
+          ],
+          &quot;rootDirectory&quot;: &quot;A String&quot;, # Optional. The directory relative to the root of the archive to use as the root for the deployed web app. Defaults to use the root of the repository if not provided. If deploying a [monorepo](https://firebase.google.com/docs/app-hosting/monorepos), this should be the directory that contains the built source of the app.
+          &quot;runCommand&quot;: &quot;A String&quot;, # Optional. The command to run to start the app. If provided, it will override apphosting&#x27;s default run commands. See [`Override build and run scripts`](https://firebase.google.com/docs/app-hosting/configure#override-scripts)
+          &quot;runConfig&quot;: { # Configuration applied to the Cloud Run [`service`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services#resource:-service). # Optional. Additional configuration of the Cloud Run [`service`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services#resource:-service).
+            &quot;concurrency&quot;: 42, # Optional. Maximum number of requests that each Cloud Run instance can receive. By default, each instance can receive Cloud Run&#x27;s default of up to 80 requests at the same time. Concurrency can be set to any integer value up to 1000.
+            &quot;cpu&quot;: 3.14, # Optional. Number of CPUs used for each serving instance. By default, cpu defaults to the Cloud Run&#x27;s default of 1.0. CPU can be set to value 1, 2, 4, 6, or 8 CPUs, and for less than 1 CPU, a value from 0.08 to less than 1.00, in increments of 0.01. If you set a value of less than 1 CPU, you must set concurrency to 1, and CPU will only be allocated during request processing. Increasing CPUs limit may require increase in memory limits: - 4 CPUs: at least 2 GiB - 6 CPUs: at least 4 GiB - 8 CPUs: at least 4 GiB
+            &quot;maxInstances&quot;: 42, # Optional. Number of Cloud Run instances to maintain at maximum for each revision. By default, each Cloud Run [`service`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services#resource:-service) scales out to Cloud Run&#x27;s default of a maximum of 100 instances. The maximum max_instances limit is based on your quota. See https://cloud.google.com/run/docs/configuring/max-instances#limits.
+            &quot;memoryMib&quot;: 42, # Optional. Amount of memory allocated for each serving instance in MiB. By default, memory defaults to the Cloud Run&#x27;s default where each instance is allocated 512 MiB of memory. Memory can be set to any integer value between 128 to 32768. Increasing memory limit may require increase in CPUs limits: - Over 4 GiB: at least 2 CPUs - Over 8 GiB: at least 4 CPUs - Over 16 GiB: at least 6 CPUs - Over 24 GiB: at least 8 CPUs
+            &quot;minInstances&quot;: 42, # Optional. Number of Cloud Run instances to maintain at minimum for each Cloud Run Service. By default, there are no minimum. Even if the service splits traffic across multiple revisions, the total number of instances for a service will be capped at this value.
+          },
+          &quot;userStorageUri&quot;: &quot;A String&quot;, # URI to an archive in Cloud Storage. The object must be a gzipped archive file (.tar.gz) containing source to deploy.
+        },
       },
       &quot;state&quot;: &quot;A String&quot;, # Output only. The state of the build.
       &quot;uid&quot;: &quot;A String&quot;, # Output only. System-assigned, unique identifier.
diff --git a/docs/dyn/firebaseml_v2beta.projects.locations.publishers.models.html b/docs/dyn/firebaseml_v2beta.projects.locations.publishers.models.html
index a3035f8..e06beea 100644
--- a/docs/dyn/firebaseml_v2beta.projects.locations.publishers.models.html
+++ b/docs/dyn/firebaseml_v2beta.projects.locations.publishers.models.html
@@ -538,6 +538,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1128,6 +1129,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
@@ -1994,6 +1996,7 @@
         &quot;customConfigs&quot;: { # Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { &quot;source_policy&quot;: { &quot;include_domains&quot;: [&quot;google.com&quot;, &quot;wikipedia.org&quot;], &quot;exclude_domains&quot;: [&quot;example.com&quot;] }, &quot;fetch_policy&quot;: { &quot;max_age_seconds&quot;: 3600 } }
           &quot;a_key&quot;: &quot;&quot;, # Properties of the object.
         },
+        &quot;enableDataRetention&quot;: True or False, # Optional. Instructs Vertex Grounding to use Parallel&#x27;s Zero Data Retention Marketplace product. If this value is &quot;false&quot; or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is &quot;true&quot;, the Parallel Web Search for Grounding - ZDR subscription will be used.
       },
       &quot;retrieval&quot;: { # Defines a retrieval tool that model can call to access external knowledge. # Optional. Retrieval tool type. System will always execute the provided retrieval tool(s) to get external knowledge to answer the prompt. Retrieval results are presented to the model for generation.
         &quot;disableAttribution&quot;: True or False, # Optional. Deprecated. This option is no longer supported.
diff --git a/docs/dyn/gkehub_v1.projects.locations.features.html b/docs/dyn/gkehub_v1.projects.locations.features.html
index bc2aff7..4a06eb9 100644
--- a/docs/dyn/gkehub_v1.projects.locations.features.html
+++ b/docs/dyn/gkehub_v1.projects.locations.features.html
@@ -955,6 +955,9 @@
         },
       },
     },
+    &quot;mesh&quot;: { # **Service Mesh**: Spec for the fleet for the servicemesh feature # Servicemesh feature spec.
+      &quot;modernizationCompatibility&quot;: &quot;A String&quot;, # Optional. Specifies modernization compatibility for the fleet.
+    },
     &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
     },
@@ -1996,6 +1999,9 @@
         },
       },
     },
+    &quot;mesh&quot;: { # **Service Mesh**: Spec for the fleet for the servicemesh feature # Servicemesh feature spec.
+      &quot;modernizationCompatibility&quot;: &quot;A String&quot;, # Optional. Specifies modernization compatibility for the fleet.
+    },
     &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
     },
@@ -3025,6 +3031,9 @@
             },
           },
         },
+        &quot;mesh&quot;: { # **Service Mesh**: Spec for the fleet for the servicemesh feature # Servicemesh feature spec.
+          &quot;modernizationCompatibility&quot;: &quot;A String&quot;, # Optional. Specifies modernization compatibility for the fleet.
+        },
         &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
           &quot;configMembership&quot;: &quot;A String&quot;, # Fully-qualified Membership name which hosts the MultiClusterIngress CRD. Example: `projects/foo-proj/locations/global/memberships/bar`
         },
@@ -4009,6 +4018,9 @@
         },
       },
     },
+    &quot;mesh&quot;: { # **Service Mesh**: Spec for the fleet for the servicemesh feature # Servicemesh feature spec.
+      &quot;modernizationCompatibility&quot;: &quot;A String&quot;, # Optional. Specifies modernization compatibility for the fleet.
+    },
     &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &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_v1alpha.projects.locations.features.html b/docs/dyn/gkehub_v1alpha.projects.locations.features.html
index 9bf747f..5bad6ea 100644
--- a/docs/dyn/gkehub_v1alpha.projects.locations.features.html
+++ b/docs/dyn/gkehub_v1alpha.projects.locations.features.html
@@ -1072,6 +1072,9 @@
         },
       },
     },
+    &quot;mesh&quot;: { # **Service Mesh**: Spec for the fleet for the servicemesh feature # Servicemesh feature spec.
+      &quot;modernizationCompatibility&quot;: &quot;A String&quot;, # Optional. Specifies modernization compatibility for the fleet.
+    },
     &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &quot;billing&quot;: &quot;A String&quot;, # Deprecated: This field will be ignored and should not be set. 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`
@@ -2271,6 +2274,9 @@
         },
       },
     },
+    &quot;mesh&quot;: { # **Service Mesh**: Spec for the fleet for the servicemesh feature # Servicemesh feature spec.
+      &quot;modernizationCompatibility&quot;: &quot;A String&quot;, # Optional. Specifies modernization compatibility for the fleet.
+    },
     &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &quot;billing&quot;: &quot;A String&quot;, # Deprecated: This field will be ignored and should not be set. 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`
@@ -3458,6 +3464,9 @@
             },
           },
         },
+        &quot;mesh&quot;: { # **Service Mesh**: Spec for the fleet for the servicemesh feature # Servicemesh feature spec.
+          &quot;modernizationCompatibility&quot;: &quot;A String&quot;, # Optional. Specifies modernization compatibility for the fleet.
+        },
         &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
           &quot;billing&quot;: &quot;A String&quot;, # Deprecated: This field will be ignored and should not be set. 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`
@@ -4600,6 +4609,9 @@
         },
       },
     },
+    &quot;mesh&quot;: { # **Service Mesh**: Spec for the fleet for the servicemesh feature # Servicemesh feature spec.
+      &quot;modernizationCompatibility&quot;: &quot;A String&quot;, # Optional. Specifies modernization compatibility for the fleet.
+    },
     &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &quot;billing&quot;: &quot;A String&quot;, # Deprecated: This field will be ignored and should not be set. 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_v1beta.projects.locations.features.html b/docs/dyn/gkehub_v1beta.projects.locations.features.html
index 294206c..b742f44 100644
--- a/docs/dyn/gkehub_v1beta.projects.locations.features.html
+++ b/docs/dyn/gkehub_v1beta.projects.locations.features.html
@@ -978,6 +978,9 @@
         },
       },
     },
+    &quot;mesh&quot;: { # **Service Mesh**: Spec for the fleet for the servicemesh feature # Servicemesh feature spec.
+      &quot;modernizationCompatibility&quot;: &quot;A String&quot;, # Optional. Specifies modernization compatibility for the fleet.
+    },
     &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &quot;billing&quot;: &quot;A String&quot;, # Deprecated: This field will be ignored and should not be set. 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`
@@ -2043,6 +2046,9 @@
         },
       },
     },
+    &quot;mesh&quot;: { # **Service Mesh**: Spec for the fleet for the servicemesh feature # Servicemesh feature spec.
+      &quot;modernizationCompatibility&quot;: &quot;A String&quot;, # Optional. Specifies modernization compatibility for the fleet.
+    },
     &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &quot;billing&quot;: &quot;A String&quot;, # Deprecated: This field will be ignored and should not be set. 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`
@@ -3096,6 +3102,9 @@
             },
           },
         },
+        &quot;mesh&quot;: { # **Service Mesh**: Spec for the fleet for the servicemesh feature # Servicemesh feature spec.
+          &quot;modernizationCompatibility&quot;: &quot;A String&quot;, # Optional. Specifies modernization compatibility for the fleet.
+        },
         &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
           &quot;billing&quot;: &quot;A String&quot;, # Deprecated: This field will be ignored and should not be set. 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`
@@ -4104,6 +4113,9 @@
         },
       },
     },
+    &quot;mesh&quot;: { # **Service Mesh**: Spec for the fleet for the servicemesh feature # Servicemesh feature spec.
+      &quot;modernizationCompatibility&quot;: &quot;A String&quot;, # Optional. Specifies modernization compatibility for the fleet.
+    },
     &quot;multiclusteringress&quot;: { # **Multi-cluster Ingress**: The configuration for the MultiClusterIngress feature. # Multicluster Ingress-specific spec.
       &quot;billing&quot;: &quot;A String&quot;, # Deprecated: This field will be ignored and should not be set. 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/gmailpostmastertools_v2.domains.html b/docs/dyn/gmailpostmastertools_v2.domains.html
index c789825..ec324b4 100644
--- a/docs/dyn/gmailpostmastertools_v2.domains.html
+++ b/docs/dyn/gmailpostmastertools_v2.domains.html
@@ -80,20 +80,37 @@
 <p class="firstline">Returns the domainStats Resource.</p>
 
 <p class="toc_element">
+  <code><a href="gmailpostmastertools_v2.domains.users.html">users()</a></code>
+</p>
+<p class="firstline">Returns the users 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="#create">create(body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">[Developer Preview](https://developers.google.com/workspace/preview): Adds a domain to the user's account. Returns INVALID_ARGUMENT if a domain is not provided. Returns ALREADY_EXISTS if the domain is already registered by the user.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">[Developer Preview](https://developers.google.com/workspace/preview): Deletes a domain from the user's account. Returns NOT_FOUND if the domain is not registered by the user.</p>
+<p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Retrieves detailed information about a domain registered by you. Returns NOT_FOUND if the domain is not registered by you. Domain represents the metadata of a domain that has been registered within the system and linked to a user.</p>
 <p class="toc_element">
   <code><a href="#getComplianceStatus">getComplianceStatus(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Retrieves the compliance status for a given domain. Returns PERMISSION_DENIED if you don't have permission to access compliance status for the domain.</p>
 <p class="toc_element">
+  <code><a href="#getVerificationToken">getVerificationToken(name, verificationMethod=None, x__xgafv=None)</a></code></p>
+<p class="firstline">[Developer Preview](https://developers.google.com/workspace/preview): Gets a verification token used for verifying a user's ownership over a domain.</p>
+<p class="toc_element">
   <code><a href="#list">list(pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Retrieves a list of all domains registered by you, along with their corresponding metadata. The order of domains in the response is unspecified and non-deterministic. Newly registered domains will not necessarily be added to the end of this list.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next()</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#verify">verify(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">[Developer Preview](https://developers.google.com/workspace/preview): Verifies a user's ownership of a domain at the DNS level. Note that this is distinct from checking if the user has OWNER status within IRDB.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -101,6 +118,53 @@
 </div>
 
 <div class="method">
+    <code class="details" id="create">create(body=None, x__xgafv=None)</code>
+  <pre>[Developer Preview](https://developers.google.com/workspace/preview): Adds a domain to the user&#x27;s account. Returns INVALID_ARGUMENT if a domain is not provided. Returns ALREADY_EXISTS if the domain is already registered by the user.
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # [Developer Preview](https://developers.google.com/workspace/preview): Request message for CreateDomain.
+  &quot;domainId&quot;: &quot;A String&quot;, # Required. The domain to add. e.g., &quot;example.com&quot;
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Information about a domain registered by the user.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. Immutable. The timestamp at which the domain was added to the user&#x27;s account.
+  &quot;lastVerifyTime&quot;: &quot;A String&quot;, # The timestamp at which the domain was last verified by the user.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the domain. Format: `domains/{domain_name}`, where domain_name is the fully qualified domain name (i.e., mymail.mydomain.com).
+  &quot;permission&quot;: &quot;A String&quot;, # Output only. User&#x27;s permission of this domain.
+  &quot;verificationState&quot;: &quot;A String&quot;, # Output only. Information about a user&#x27;s verification history and properties for the domain.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>[Developer Preview](https://developers.google.com/workspace/preview): Deletes a domain from the user&#x27;s account. Returns NOT_FOUND if the domain is not registered by the user.
+
+Args:
+  name: string, Required. The domain to delete. (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); }
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="get">get(name, x__xgafv=None)</code>
   <pre>Retrieves detailed information about a domain registered by you. Returns NOT_FOUND if the domain is not registered by you. Domain represents the metadata of a domain that has been registered within the system and linked to a user.
 
@@ -139,6 +203,12 @@
 
     { # Compliance status for a domain.
   &quot;complianceData&quot;: { # Compliance data for a given domain. # Compliance data for the registrable domain part of the domain in `name`. For example, if `name` is `domains/example.com/complianceStatus`, this field contains compliance data for `example.com`.
+    &quot;deliverabilityStatusVerdict&quot;: { # [Developer Preview](https://developers.google.com/workspace/preview): Verdict of domain deliverability status. # Output only. Deliverability status verdict.
+      &quot;reason&quot;: &quot;A String&quot;, # Output only. The specific reason for the compliance verdict.
+      &quot;state&quot;: { # The status of a sender compliance requirement. # Output only. The compliance state.
+        &quot;status&quot;: &quot;A String&quot;, # Output only. The compliance status.
+      },
+    },
     &quot;domainId&quot;: &quot;A String&quot;, # Domain that this data is for.
     &quot;honorUnsubscribeVerdict&quot;: { # Compliance verdict for whether a sender meets the unsubscribe honoring compliance requirement. # Unsubscribe honoring compliance verdict.
       &quot;reason&quot;: &quot;A String&quot;, # The specific reason for the compliance verdict. Must be empty if the status is compliant.
@@ -163,6 +233,12 @@
   },
   &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the domain&#x27;s compliance status. Format: `domains/{domain_id}/complianceStatus`.
   &quot;subdomainComplianceData&quot;: { # Compliance data for a given domain. # Compliance data calculated specifically for the subdomain in `name`. This field is only populated if the domain in `name` is a subdomain that differs from its registrable domain (e.g., `sub.example.com`), and if compliance data is available for that specific subdomain.
+    &quot;deliverabilityStatusVerdict&quot;: { # [Developer Preview](https://developers.google.com/workspace/preview): Verdict of domain deliverability status. # Output only. Deliverability status verdict.
+      &quot;reason&quot;: &quot;A String&quot;, # Output only. The specific reason for the compliance verdict.
+      &quot;state&quot;: { # The status of a sender compliance requirement. # Output only. The compliance state.
+        &quot;status&quot;: &quot;A String&quot;, # Output only. The compliance status.
+      },
+    },
     &quot;domainId&quot;: &quot;A String&quot;, # Domain that this data is for.
     &quot;honorUnsubscribeVerdict&quot;: { # Compliance verdict for whether a sender meets the unsubscribe honoring compliance requirement. # Unsubscribe honoring compliance verdict.
       &quot;reason&quot;: &quot;A String&quot;, # The specific reason for the compliance verdict. Must be empty if the status is compliant.
@@ -189,6 +265,32 @@
 </div>
 
 <div class="method">
+    <code class="details" id="getVerificationToken">getVerificationToken(name, verificationMethod=None, x__xgafv=None)</code>
+  <pre>[Developer Preview](https://developers.google.com/workspace/preview): Gets a verification token used for verifying a user&#x27;s ownership over a domain.
+
+Args:
+  name: string, Required. The resource name of the verification token to retrieve. Format: `domains/{domain}/verificationToken` (required)
+  verificationMethod: string, Required. The verification method used. Must be specified, i.e. TXT or CNAME.
+    Allowed values
+      DOMAIN_VERIFICATION_METHOD_UNSPECIFIED - Unspecified.
+      TXT - Generate a DNS TXT verification token.
+      CNAME - Generate a DNS CNAME verification token.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # [Developer Preview](https://developers.google.com/workspace/preview): The DNS token a user can use to verify ownership of a domain.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the domain verification token. Format: domains/{domain}/verificationToken
+  &quot;token&quot;: &quot;A String&quot;, # The verification token.
+  &quot;verificationMethod&quot;: &quot;A String&quot;, # The verification method used.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="list">list(pageSize=None, pageToken=None, x__xgafv=None)</code>
   <pre>Retrieves a list of all domains registered by you, along with their corresponding metadata. The order of domains in the response is unspecified and non-deterministic. Newly registered domains will not necessarily be added to the end of this list.
 
@@ -231,4 +333,29 @@
         </pre>
 </div>
 
+<div class="method">
+    <code class="details" id="verify">verify(name, body=None, x__xgafv=None)</code>
+  <pre>[Developer Preview](https://developers.google.com/workspace/preview): Verifies a user&#x27;s ownership of a domain at the DNS level. Note that this is distinct from checking if the user has OWNER status within IRDB.
+
+Args:
+  name: string, Required. The domain to verify. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # [Developer Preview](https://developers.google.com/workspace/preview): Request message for VerifyDomain.
+  &quot;verificationMethod&quot;: &quot;A String&quot;, # Required. The verification method used. Must be specified, i.e. TXT or CNAME.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # [Developer Preview](https://developers.google.com/workspace/preview): Response message for VerifyDomain.
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/gmailpostmastertools_v2.domains.users.html b/docs/dyn/gmailpostmastertools_v2.domains.users.html
new file mode 100644
index 0000000..f2cbfbb
--- /dev/null
+++ b/docs/dyn/gmailpostmastertools_v2.domains.users.html
@@ -0,0 +1,255 @@
+<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="gmailpostmastertools_v2.html">Gmail Postmaster Tools API</a> . <a href="gmailpostmastertools_v2.domains.html">domains</a> . <a href="gmailpostmastertools_v2.domains.users.html">users</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">[Developer Preview](https://developers.google.com/workspace/preview): Creates a user, who has access to a domain. Returns INVALID_ARGUMENT if a user is not provided.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">[Developer Preview](https://developers.google.com/workspace/preview): Deletes a user from a domain. Returns NOT_FOUND if the user does not exist.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">[Developer Preview](https://developers.google.com/workspace/preview): Retrieves detailed information about a user that has access to a domain. Returns NOT_FOUND if the user does not exist.</p>
+<p class="toc_element">
+  <code><a href="#list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+<p class="firstline">[Developer Preview](https://developers.google.com/workspace/preview): Lists the users that have access to a domain.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next()</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">[Developer Preview](https://developers.google.com/workspace/preview): Updates a user for a domain. Only Owners and Admins can execute this RPC, only a user's domain permission will be allowed to be updated. Returns NOT_FOUND if the user does not exist. Returns INVALID_ARGUMENT if a permission is not provided or is PERMISSION_UNSPECIFIED, NONE, or OWNER.</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>[Developer Preview](https://developers.google.com/workspace/preview): Creates a user, who has access to a domain. Returns INVALID_ARGUMENT if a user is not provided.
+
+Args:
+  parent: string, Required. The parent resource where this user will be created. Format: domains/{domain} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # [Developer Preview](https://developers.google.com/workspace/preview): Request message for CreateUser.
+  &quot;permission&quot;: &quot;A String&quot;, # Optional. Specifies the permission level to give the user for the specified domain. If not specified, the default value for this field is READER.
+  &quot;userId&quot;: &quot;A String&quot;, # Required. The user to create.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # [Developer Preview](https://developers.google.com/workspace/preview): Information about a user&#x27;s access to a domain.
+  &quot;accessGranter&quot;: &quot;A String&quot;, # Output only. The user that added the current user.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the user was granted access.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the user. Format: users/{user} Note: {user} is the user&#x27;s email address.
+  &quot;permission&quot;: &quot;A String&quot;, # The permission level that the user has for the specified domain.
+  &quot;user&quot;: &quot;A String&quot;, # The user&#x27;s email address.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>[Developer Preview](https://developers.google.com/workspace/preview): Deletes a user from a domain. Returns NOT_FOUND if the user does not exist.
+
+Args:
+  name: string, Required. The resource name of the user to delete. Format: domains/{domain}/users/{user} (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); }
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>[Developer Preview](https://developers.google.com/workspace/preview): Retrieves detailed information about a user that has access to a domain. Returns NOT_FOUND if the user does not exist.
+
+Args:
+  name: string, Required. The resource name of the user to retrieve. Format: `domains/{domain}/users/{user}` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # [Developer Preview](https://developers.google.com/workspace/preview): Information about a user&#x27;s access to a domain.
+  &quot;accessGranter&quot;: &quot;A String&quot;, # Output only. The user that added the current user.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the user was granted access.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the user. Format: users/{user} Note: {user} is the user&#x27;s email address.
+  &quot;permission&quot;: &quot;A String&quot;, # The permission level that the user has for the specified domain.
+  &quot;user&quot;: &quot;A String&quot;, # The user&#x27;s email address.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>[Developer Preview](https://developers.google.com/workspace/preview): Lists the users that have access to a domain.
+
+Args:
+  parent: string, Required. The parent resource name for which to list users. Format: `domains/{domain}` (required)
+  pageSize: integer, Optional. Requested page size. Server may return fewer users than requested. If unspecified, the default value for this field is 10. The maximum value for this field is 200.
+  pageToken: string, Optional. The next_page_token value returned from a previous List request, if any.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # [Developer Preview](https://developers.google.com/workspace/preview): Response message for ListUsers.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # Token to retrieve the next page of results, or empty if there are no more results in the list.
+  &quot;users&quot;: [ # The users that have access to the domain.
+    { # [Developer Preview](https://developers.google.com/workspace/preview): Information about a user&#x27;s access to a domain.
+      &quot;accessGranter&quot;: &quot;A String&quot;, # Output only. The user that added the current user.
+      &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the user was granted access.
+      &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the user. Format: users/{user} Note: {user} is the user&#x27;s email address.
+      &quot;permission&quot;: &quot;A String&quot;, # The permission level that the user has for the specified domain.
+      &quot;user&quot;: &quot;A String&quot;, # The user&#x27;s email address.
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next()</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>[Developer Preview](https://developers.google.com/workspace/preview): Updates a user for a domain. Only Owners and Admins can execute this RPC, only a user&#x27;s domain permission will be allowed to be updated. Returns NOT_FOUND if the user does not exist. Returns INVALID_ARGUMENT if a permission is not provided or is PERMISSION_UNSPECIFIED, NONE, or OWNER.
+
+Args:
+  name: string, Identifier. The resource name of the user. Format: users/{user} Note: {user} is the user&#x27;s email address. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # [Developer Preview](https://developers.google.com/workspace/preview): Information about a user&#x27;s access to a domain.
+  &quot;accessGranter&quot;: &quot;A String&quot;, # Output only. The user that added the current user.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the user was granted access.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the user. Format: users/{user} Note: {user} is the user&#x27;s email address.
+  &quot;permission&quot;: &quot;A String&quot;, # The permission level that the user has for the specified domain.
+  &quot;user&quot;: &quot;A String&quot;, # The user&#x27;s email address.
+}
+
+  updateMask: string, The list of fields to update.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # [Developer Preview](https://developers.google.com/workspace/preview): Information about a user&#x27;s access to a domain.
+  &quot;accessGranter&quot;: &quot;A String&quot;, # Output only. The user that added the current user.
+  &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time the user was granted access.
+  &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the user. Format: users/{user} Note: {user} is the user&#x27;s email address.
+  &quot;permission&quot;: &quot;A String&quot;, # The permission level that the user has for the specified domain.
+  &quot;user&quot;: &quot;A String&quot;, # The user&#x27;s email address.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/health_v4.users.dataTypes.dataPoints.html b/docs/dyn/health_v4.users.dataTypes.dataPoints.html
index cdfda39..7c1844f 100644
--- a/docs/dyn/health_v4.users.dataTypes.dataPoints.html
+++ b/docs/dyn/health_v4.users.dataTypes.dataPoints.html
@@ -6914,7 +6914,7 @@
     &quot;endTime&quot;: &quot;A String&quot;, # Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end.
     &quot;startTime&quot;: &quot;A String&quot;, # Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start.
   },
-  &quot;windowSize&quot;: &quot;A String&quot;, # Required. The size of the time window to group data points into before applying the aggregation functions.
+  &quot;windowSize&quot;: &quot;A String&quot;, # Required. The size of the time window to group data points into before applying the aggregation functions. Must be at least 1 second.
 }
 
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/homegraph_v1.devices.html b/docs/dyn/homegraph_v1.devices.html
index 316f7393..2cd5591 100644
--- a/docs/dyn/homegraph_v1.devices.html
+++ b/docs/dyn/homegraph_v1.devices.html
@@ -155,6 +155,7 @@
           &quot;id&quot;: &quot;A String&quot;, # Required. ID of the component from the device provider.
           &quot;traitData&quot;: [ # Required. List of trait data associated with the component.
             { # Contains the trait payload for a single trait.
+              &quot;commitTime&quot;: &quot;A String&quot;, # Other metadata for the trait. The time the client update was committed in the server.
               &quot;trait&quot;: { # The Provider Home API trait payload.
                 &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
               },
@@ -208,6 +209,7 @@
               &quot;componentId&quot;: &quot;A String&quot;, # Required. ID of the component from the device provider.
               &quot;traitData&quot;: [ # Required. The updated trait data for the component.
                 { # Contains the trait payload for a single trait.
+                  &quot;commitTime&quot;: &quot;A String&quot;, # Other metadata for the trait. The time the client update was committed in the server.
                   &quot;trait&quot;: { # The Provider Home API trait payload.
                     &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
                   },
diff --git a/docs/dyn/hypercomputecluster_v1.projects.locations.clusters.html b/docs/dyn/hypercomputecluster_v1.projects.locations.clusters.html
index ff41a62..5a55532 100644
--- a/docs/dyn/hypercomputecluster_v1.projects.locations.clusters.html
+++ b/docs/dyn/hypercomputecluster_v1.projects.locations.clusters.html
@@ -203,7 +203,7 @@
             },
             &quot;startupScript&quot;: &quot;A String&quot;, # Optional. [Startup script](https://cloud.google.com/compute/docs/instances/startup-scripts/linux) to be run on each VM instance in the nodeset. Max 256KB.
           },
-          &quot;id&quot;: &quot;A String&quot;, # Required. Identifier for the nodeset, which allows it to be referenced by partitions. Must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).
+          &quot;id&quot;: &quot;A String&quot;, # Required. The ID for the nodeset, which allows it to be referenced by cluster partitions. The nodeset ID must start with a lowercase letter (`a`-`z`), use only lowercase letters or numbers, and contain up to 15 characters. For example, specify `nodeset001`.
           &quot;maxDynamicNodeCount&quot;: &quot;A String&quot;, # Optional. Controls how many additional nodes a cluster can bring online to handle workloads. Set this value to enable dynamic node creation and limit the number of additional nodes the cluster can bring online. Leave empty if you do not want the cluster to create nodes dynamically, and instead rely only on static nodes.
           &quot;staticNodeCount&quot;: &quot;A String&quot;, # Optional. Number of nodes to be statically created for this nodeset. The cluster will attempt to ensure that at least this many nodes exist at all times.
           &quot;storageConfigs&quot;: [ # Optional. How storage resources should be mounted on each compute node.
@@ -285,7 +285,7 @@
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. Time that the cluster was most recently updated.
 }
 
-  clusterId: string, Required. ID of the cluster to create. Must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).
+  clusterId: string, Required. The ID of the cluster to create. The cluster ID must start with a lowercase letter (`a`-`z`), use only lowercase letters or numbers, and contain up to 10 characters. For example, specify `cluster001`.
   requestId: string, Optional. A unique identifier for this request. A random UUID is recommended. This request is idempotent if and only if `request_id` is provided.
   x__xgafv: string, V1 error format.
     Allowed values
@@ -459,7 +459,7 @@
             },
             &quot;startupScript&quot;: &quot;A String&quot;, # Optional. [Startup script](https://cloud.google.com/compute/docs/instances/startup-scripts/linux) to be run on each VM instance in the nodeset. Max 256KB.
           },
-          &quot;id&quot;: &quot;A String&quot;, # Required. Identifier for the nodeset, which allows it to be referenced by partitions. Must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).
+          &quot;id&quot;: &quot;A String&quot;, # Required. The ID for the nodeset, which allows it to be referenced by cluster partitions. The nodeset ID must start with a lowercase letter (`a`-`z`), use only lowercase letters or numbers, and contain up to 15 characters. For example, specify `nodeset001`.
           &quot;maxDynamicNodeCount&quot;: &quot;A String&quot;, # Optional. Controls how many additional nodes a cluster can bring online to handle workloads. Set this value to enable dynamic node creation and limit the number of additional nodes the cluster can bring online. Leave empty if you do not want the cluster to create nodes dynamically, and instead rely only on static nodes.
           &quot;staticNodeCount&quot;: &quot;A String&quot;, # Optional. Number of nodes to be statically created for this nodeset. The cluster will attempt to ensure that at least this many nodes exist at all times.
           &quot;storageConfigs&quot;: [ # Optional. How storage resources should be mounted on each compute node.
@@ -655,7 +655,7 @@
                 },
                 &quot;startupScript&quot;: &quot;A String&quot;, # Optional. [Startup script](https://cloud.google.com/compute/docs/instances/startup-scripts/linux) to be run on each VM instance in the nodeset. Max 256KB.
               },
-              &quot;id&quot;: &quot;A String&quot;, # Required. Identifier for the nodeset, which allows it to be referenced by partitions. Must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).
+              &quot;id&quot;: &quot;A String&quot;, # Required. The ID for the nodeset, which allows it to be referenced by cluster partitions. The nodeset ID must start with a lowercase letter (`a`-`z`), use only lowercase letters or numbers, and contain up to 15 characters. For example, specify `nodeset001`.
               &quot;maxDynamicNodeCount&quot;: &quot;A String&quot;, # Optional. Controls how many additional nodes a cluster can bring online to handle workloads. Set this value to enable dynamic node creation and limit the number of additional nodes the cluster can bring online. Leave empty if you do not want the cluster to create nodes dynamically, and instead rely only on static nodes.
               &quot;staticNodeCount&quot;: &quot;A String&quot;, # Optional. Number of nodes to be statically created for this nodeset. The cluster will attempt to ensure that at least this many nodes exist at all times.
               &quot;storageConfigs&quot;: [ # Optional. How storage resources should be mounted on each compute node.
@@ -860,7 +860,7 @@
             },
             &quot;startupScript&quot;: &quot;A String&quot;, # Optional. [Startup script](https://cloud.google.com/compute/docs/instances/startup-scripts/linux) to be run on each VM instance in the nodeset. Max 256KB.
           },
-          &quot;id&quot;: &quot;A String&quot;, # Required. Identifier for the nodeset, which allows it to be referenced by partitions. Must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).
+          &quot;id&quot;: &quot;A String&quot;, # Required. The ID for the nodeset, which allows it to be referenced by cluster partitions. The nodeset ID must start with a lowercase letter (`a`-`z`), use only lowercase letters or numbers, and contain up to 15 characters. For example, specify `nodeset001`.
           &quot;maxDynamicNodeCount&quot;: &quot;A String&quot;, # Optional. Controls how many additional nodes a cluster can bring online to handle workloads. Set this value to enable dynamic node creation and limit the number of additional nodes the cluster can bring online. Leave empty if you do not want the cluster to create nodes dynamically, and instead rely only on static nodes.
           &quot;staticNodeCount&quot;: &quot;A String&quot;, # Optional. Number of nodes to be statically created for this nodeset. The cluster will attempt to ensure that at least this many nodes exist at all times.
           &quot;storageConfigs&quot;: [ # Optional. How storage resources should be mounted on each compute node.
diff --git a/docs/dyn/index.md b/docs/dyn/index.md
index 461be2c..e84f527 100644
--- a/docs/dyn/index.md
+++ b/docs/dyn/index.md
@@ -51,6 +51,7 @@
 
 
 ## agentregistry
+* [v1](http://googleapis.github.io/google-api-python-client/docs/dyn/agentregistry_v1.html)
 * [v1alpha](http://googleapis.github.io/google-api-python-client/docs/dyn/agentregistry_v1alpha.html)
 
 
diff --git a/docs/dyn/merchantapi_inventories_v1.accounts.products.localInventories.html b/docs/dyn/merchantapi_inventories_v1.accounts.products.localInventories.html
index f5a922a..bbd729b 100644
--- a/docs/dyn/merchantapi_inventories_v1.accounts.products.localInventories.html
+++ b/docs/dyn/merchantapi_inventories_v1.accounts.products.localInventories.html
@@ -128,6 +128,7 @@
   &quot;localInventoryAttributes&quot;: { # Local inventory attributes. # Optional. A list of local inventory attributes.
     &quot;availability&quot;: &quot;A String&quot;, # [Availability](https://support.google.com/merchants/answer/3061342) of the product at this store.
     &quot;instoreProductLocation&quot;: &quot;A String&quot;, # Optional. Location of the product inside the store. Maximum length is 20 bytes.
+    &quot;localShippingLabel&quot;: &quot;A String&quot;, # Optional. Specifies a label associated with the shipping for the `LocalInventory` resource. Can be used to group local shipping services to this particular inventory item. For accepted field format, see the [Local delivery](https://support.google.com/merchants/answer/14819809#localdelivery)
     &quot;loyaltyPrograms&quot;: [ # Optional. An optional list of loyalty programs containing applicable loyalty member prices for this product at this store. This field is used to show store-specific member prices on Local Inventory Ads (LIA). To use this, the loyalty program must be configured in Google Merchant Center. The benefits provided must match the merchant&#x27;s website and be clear to members. This is only applicable for merchants in supported countries. See [Loyalty program](https://support.google.com/merchants/answer/12922446) for details on supported countries and loyalty program configuration. For local inventory specific details, see the [Local inventory data specification](https://support.google.com/merchants/answer/3061342).
       { # A message that represents loyalty program.
         &quot;cashbackForFutureUse&quot;: { # The price represented as a number and currency. # The cashback that can be used for future purchases.
@@ -182,6 +183,7 @@
   &quot;localInventoryAttributes&quot;: { # Local inventory attributes. # Optional. A list of local inventory attributes.
     &quot;availability&quot;: &quot;A String&quot;, # [Availability](https://support.google.com/merchants/answer/3061342) of the product at this store.
     &quot;instoreProductLocation&quot;: &quot;A String&quot;, # Optional. Location of the product inside the store. Maximum length is 20 bytes.
+    &quot;localShippingLabel&quot;: &quot;A String&quot;, # Optional. Specifies a label associated with the shipping for the `LocalInventory` resource. Can be used to group local shipping services to this particular inventory item. For accepted field format, see the [Local delivery](https://support.google.com/merchants/answer/14819809#localdelivery)
     &quot;loyaltyPrograms&quot;: [ # Optional. An optional list of loyalty programs containing applicable loyalty member prices for this product at this store. This field is used to show store-specific member prices on Local Inventory Ads (LIA). To use this, the loyalty program must be configured in Google Merchant Center. The benefits provided must match the merchant&#x27;s website and be clear to members. This is only applicable for merchants in supported countries. See [Loyalty program](https://support.google.com/merchants/answer/12922446) for details on supported countries and loyalty program configuration. For local inventory specific details, see the [Local inventory data specification](https://support.google.com/merchants/answer/3061342).
       { # A message that represents loyalty program.
         &quot;cashbackForFutureUse&quot;: { # The price represented as a number and currency. # The cashback that can be used for future purchases.
@@ -247,6 +249,7 @@
       &quot;localInventoryAttributes&quot;: { # Local inventory attributes. # Optional. A list of local inventory attributes.
         &quot;availability&quot;: &quot;A String&quot;, # [Availability](https://support.google.com/merchants/answer/3061342) of the product at this store.
         &quot;instoreProductLocation&quot;: &quot;A String&quot;, # Optional. Location of the product inside the store. Maximum length is 20 bytes.
+        &quot;localShippingLabel&quot;: &quot;A String&quot;, # Optional. Specifies a label associated with the shipping for the `LocalInventory` resource. Can be used to group local shipping services to this particular inventory item. For accepted field format, see the [Local delivery](https://support.google.com/merchants/answer/14819809#localdelivery)
         &quot;loyaltyPrograms&quot;: [ # Optional. An optional list of loyalty programs containing applicable loyalty member prices for this product at this store. This field is used to show store-specific member prices on Local Inventory Ads (LIA). To use this, the loyalty program must be configured in Google Merchant Center. The benefits provided must match the merchant&#x27;s website and be clear to members. This is only applicable for merchants in supported countries. See [Loyalty program](https://support.google.com/merchants/answer/12922446) for details on supported countries and loyalty program configuration. For local inventory specific details, see the [Local inventory data specification](https://support.google.com/merchants/answer/3061342).
           { # A message that represents loyalty program.
             &quot;cashbackForFutureUse&quot;: { # The price represented as a number and currency. # The cashback that can be used for future purchases.
diff --git a/docs/dyn/migrationcenter_v1alpha1.projects.locations.assets.html b/docs/dyn/migrationcenter_v1alpha1.projects.locations.assets.html
index 2b5c4f8..4a7c91c 100644
--- a/docs/dyn/migrationcenter_v1alpha1.projects.locations.assets.html
+++ b/docs/dyn/migrationcenter_v1alpha1.projects.locations.assets.html
@@ -255,6 +255,8 @@
         },
         &quot;awsElasticNetworkInterfaceDetails&quot;: { # Asset information specific for AWS Elastic Network Interfaces. # Output only. Asset information specific for AWS Elastic Network Interfaces.
         },
+        &quot;awsElasticacheClusterDetails&quot;: { # Details of an AWS ElastiCache Cluster. # Output only. Asset information specific for AWS ElastiCache Clusters.
+        },
         &quot;awsElbLoadBalancerDetails&quot;: { # Asset information specific for AWS Load Balancers. # Output only. Asset information specific for AWS Load Balancers.
         },
         &quot;awsEmrClusterDetails&quot;: { # Contains details for an AWS EMR Cluster asset. # Output only. Asset information specific for AwsEmrClusterDetails
@@ -1351,6 +1353,8 @@
       },
       &quot;awsElasticNetworkInterfaceDetails&quot;: { # Asset information specific for AWS Elastic Network Interfaces. # Output only. Asset information specific for AWS Elastic Network Interfaces.
       },
+      &quot;awsElasticacheClusterDetails&quot;: { # Details of an AWS ElastiCache Cluster. # Output only. Asset information specific for AWS ElastiCache Clusters.
+      },
       &quot;awsElbLoadBalancerDetails&quot;: { # Asset information specific for AWS Load Balancers. # Output only. Asset information specific for AWS Load Balancers.
       },
       &quot;awsEmrClusterDetails&quot;: { # Contains details for an AWS EMR Cluster asset. # Output only. Asset information specific for AwsEmrClusterDetails
@@ -2479,6 +2483,8 @@
   },
   &quot;awsElasticNetworkInterfaceDetails&quot;: { # Asset information specific for AWS Elastic Network Interfaces. # Output only. Asset information specific for AWS Elastic Network Interfaces.
   },
+  &quot;awsElasticacheClusterDetails&quot;: { # Details of an AWS ElastiCache Cluster. # Output only. Asset information specific for AWS ElastiCache Clusters.
+  },
   &quot;awsElbLoadBalancerDetails&quot;: { # Asset information specific for AWS Load Balancers. # Output only. Asset information specific for AWS Load Balancers.
   },
   &quot;awsEmrClusterDetails&quot;: { # Contains details for an AWS EMR Cluster asset. # Output only. Asset information specific for AwsEmrClusterDetails
@@ -3588,6 +3594,8 @@
       },
       &quot;awsElasticNetworkInterfaceDetails&quot;: { # Asset information specific for AWS Elastic Network Interfaces. # Output only. Asset information specific for AWS Elastic Network Interfaces.
       },
+      &quot;awsElasticacheClusterDetails&quot;: { # Details of an AWS ElastiCache Cluster. # Output only. Asset information specific for AWS ElastiCache Clusters.
+      },
       &quot;awsElbLoadBalancerDetails&quot;: { # Asset information specific for AWS Load Balancers. # Output only. Asset information specific for AWS Load Balancers.
       },
       &quot;awsEmrClusterDetails&quot;: { # Contains details for an AWS EMR Cluster asset. # Output only. Asset information specific for AwsEmrClusterDetails
@@ -4699,6 +4707,8 @@
   },
   &quot;awsElasticNetworkInterfaceDetails&quot;: { # Asset information specific for AWS Elastic Network Interfaces. # Output only. Asset information specific for AWS Elastic Network Interfaces.
   },
+  &quot;awsElasticacheClusterDetails&quot;: { # Details of an AWS ElastiCache Cluster. # Output only. Asset information specific for AWS ElastiCache Clusters.
+  },
   &quot;awsElbLoadBalancerDetails&quot;: { # Asset information specific for AWS Load Balancers. # Output only. Asset information specific for AWS Load Balancers.
   },
   &quot;awsEmrClusterDetails&quot;: { # Contains details for an AWS EMR Cluster asset. # Output only. Asset information specific for AwsEmrClusterDetails
@@ -5790,6 +5800,8 @@
   },
   &quot;awsElasticNetworkInterfaceDetails&quot;: { # Asset information specific for AWS Elastic Network Interfaces. # Output only. Asset information specific for AWS Elastic Network Interfaces.
   },
+  &quot;awsElasticacheClusterDetails&quot;: { # Details of an AWS ElastiCache Cluster. # Output only. Asset information specific for AWS ElastiCache Clusters.
+  },
   &quot;awsElbLoadBalancerDetails&quot;: { # Asset information specific for AWS Load Balancers. # Output only. Asset information specific for AWS Load Balancers.
   },
   &quot;awsEmrClusterDetails&quot;: { # Contains details for an AWS EMR Cluster asset. # Output only. Asset information specific for AwsEmrClusterDetails
@@ -6880,6 +6892,8 @@
       },
       &quot;awsElasticNetworkInterfaceDetails&quot;: { # Asset information specific for AWS Elastic Network Interfaces. # Optional. Asset information specific for AWS Elastic Network Interfaces.
       },
+      &quot;awsElasticacheClusterDetails&quot;: { # Details of an AWS ElastiCache Cluster. # Optional. Asset information specific for AWS ElastiCache Clusters.
+      },
       &quot;awsElbLoadBalancerDetails&quot;: { # Asset information specific for AWS Load Balancers. # Asset information specific for AWS Load Balancers.
       },
       &quot;awsEmrClusterDetails&quot;: { # Contains details for an AWS EMR Cluster asset. # Optional. Asset information specific for AwsEmrClusterDetails
diff --git a/docs/dyn/migrationcenter_v1alpha1.projects.locations.sources.errorFrames.html b/docs/dyn/migrationcenter_v1alpha1.projects.locations.sources.errorFrames.html
index 76348b4..1ea0284 100644
--- a/docs/dyn/migrationcenter_v1alpha1.projects.locations.sources.errorFrames.html
+++ b/docs/dyn/migrationcenter_v1alpha1.projects.locations.sources.errorFrames.html
@@ -148,6 +148,8 @@
     },
     &quot;awsElasticNetworkInterfaceDetails&quot;: { # Asset information specific for AWS Elastic Network Interfaces. # Optional. Asset information specific for AWS Elastic Network Interfaces.
     },
+    &quot;awsElasticacheClusterDetails&quot;: { # Details of an AWS ElastiCache Cluster. # Optional. Asset information specific for AWS ElastiCache Clusters.
+    },
     &quot;awsElbLoadBalancerDetails&quot;: { # Asset information specific for AWS Load Balancers. # Asset information specific for AWS Load Balancers.
     },
     &quot;awsEmrClusterDetails&quot;: { # Contains details for an AWS EMR Cluster asset. # Optional. Asset information specific for AwsEmrClusterDetails
@@ -1111,6 +1113,8 @@
         },
         &quot;awsElasticNetworkInterfaceDetails&quot;: { # Asset information specific for AWS Elastic Network Interfaces. # Optional. Asset information specific for AWS Elastic Network Interfaces.
         },
+        &quot;awsElasticacheClusterDetails&quot;: { # Details of an AWS ElastiCache Cluster. # Optional. Asset information specific for AWS ElastiCache Clusters.
+        },
         &quot;awsElbLoadBalancerDetails&quot;: { # Asset information specific for AWS Load Balancers. # Asset information specific for AWS Load Balancers.
         },
         &quot;awsEmrClusterDetails&quot;: { # Contains details for an AWS EMR Cluster asset. # Optional. Asset information specific for AwsEmrClusterDetails
diff --git a/docs/dyn/netapp_v1beta1.projects.locations.volumes.html b/docs/dyn/netapp_v1beta1.projects.locations.volumes.html
index cc7f2b9..44fa35f 100644
--- a/docs/dyn/netapp_v1beta1.projects.locations.volumes.html
+++ b/docs/dyn/netapp_v1beta1.projects.locations.volumes.html
@@ -105,6 +105,9 @@
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets details of a single Volume.</p>
 <p class="toc_element">
+  <code><a href="#getSplitStatus">getSplitStatus(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Retrieves the current state, progress, and details of a split operation for a volume. This method is relevant when the volume is a clone. For volumes that are not clones, this method will return an error.</p>
+<p class="toc_element">
   <code><a href="#list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists Volumes in a given project.</p>
 <p class="toc_element">
@@ -119,6 +122,9 @@
 <p class="toc_element">
   <code><a href="#revert">revert(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Revert an existing volume to a specified snapshot. Warning! This operation will permanently revert all changes made after the snapshot was created.</p>
+<p class="toc_element">
+  <code><a href="#startSplit">startSplit(name, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Splits a clone volume from its source volume. This operation will only work for volumes which have clone_details set(clones). For volumes that are not clones, this operation will return an error.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -188,6 +194,7 @@
     &quot;sharedSpaceGib&quot;: &quot;A String&quot;, # Output only. Shared space in GiB. Determined at volume creation time based on size of source snapshot.
     &quot;sourceSnapshot&quot;: &quot;A String&quot;, # Output only. Specifies the full resource name of the source snapshot from which this volume was cloned. Format: projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot}
     &quot;sourceVolume&quot;: &quot;A String&quot;, # Output only. Full name of the source volume resource. Format: projects/{project}/locations/{location}/volumes/{volume}
+    &quot;splitState&quot;: &quot;A String&quot;, # Output only. The current state of the clone split operation.
   },
   &quot;coldTierSizeGib&quot;: &quot;A String&quot;, # Output only. Size of the volume cold tier data rounded down to the nearest GiB.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time of the volume
@@ -492,6 +499,7 @@
     &quot;sharedSpaceGib&quot;: &quot;A String&quot;, # Output only. Shared space in GiB. Determined at volume creation time based on size of source snapshot.
     &quot;sourceSnapshot&quot;: &quot;A String&quot;, # Output only. Specifies the full resource name of the source snapshot from which this volume was cloned. Format: projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot}
     &quot;sourceVolume&quot;: &quot;A String&quot;, # Output only. Full name of the source volume resource. Format: projects/{project}/locations/{location}/volumes/{volume}
+    &quot;splitState&quot;: &quot;A String&quot;, # Output only. The current state of the clone split operation.
   },
   &quot;coldTierSizeGib&quot;: &quot;A String&quot;, # Output only. Size of the volume cold tier data rounded down to the nearest GiB.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time of the volume
@@ -617,6 +625,27 @@
 </div>
 
 <div class="method">
+    <code class="details" id="getSplitStatus">getSplitStatus(name, x__xgafv=None)</code>
+  <pre>Retrieves the current state, progress, and details of a split operation for a volume. This method is relevant when the volume is a clone. For volumes that are not clones, this method will return an error.
+
+Args:
+  name: string, Required. The full name of the volume. Format: projects/{project_number}/locations/{location}/volumes/{volume_id} (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Message for SplitStatus.
+  &quot;progressPercent&quot;: 42, # Output only. The estimated progress percentage of the split operation (0-100). This is meaningful primarily when split_state is IN_PROGRESS.
+  &quot;splitState&quot;: &quot;A String&quot;, # Output only. The current state of the clone split operation.
+  &quot;stateDetails&quot;: &quot;A String&quot;, # Output only. Human-readable details about the current state. Mostly used for displaying error messages during split failure Examples: &quot;Split in progress&quot;, &quot;Error: insufficient capacity&quot;.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="list">list(parent, filter=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
   <pre>Lists Volumes in a given project.
 
@@ -694,6 +723,7 @@
         &quot;sharedSpaceGib&quot;: &quot;A String&quot;, # Output only. Shared space in GiB. Determined at volume creation time based on size of source snapshot.
         &quot;sourceSnapshot&quot;: &quot;A String&quot;, # Output only. Specifies the full resource name of the source snapshot from which this volume was cloned. Format: projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot}
         &quot;sourceVolume&quot;: &quot;A String&quot;, # Output only. Full name of the source volume resource. Format: projects/{project}/locations/{location}/volumes/{volume}
+        &quot;splitState&quot;: &quot;A String&quot;, # Output only. The current state of the clone split operation.
       },
       &quot;coldTierSizeGib&quot;: &quot;A String&quot;, # Output only. Size of the volume cold tier data rounded down to the nearest GiB.
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time of the volume
@@ -897,6 +927,7 @@
     &quot;sharedSpaceGib&quot;: &quot;A String&quot;, # Output only. Shared space in GiB. Determined at volume creation time based on size of source snapshot.
     &quot;sourceSnapshot&quot;: &quot;A String&quot;, # Output only. Specifies the full resource name of the source snapshot from which this volume was cloned. Format: projects/{project}/locations/{location}/volumes/{volume}/snapshots/{snapshot}
     &quot;sourceVolume&quot;: &quot;A String&quot;, # Output only. Full name of the source volume resource. Format: projects/{project}/locations/{location}/volumes/{volume}
+    &quot;splitState&quot;: &quot;A String&quot;, # Output only. The current state of the clone split operation.
   },
   &quot;coldTierSizeGib&quot;: &quot;A String&quot;, # Output only. Size of the volume cold tier data rounded down to the nearest GiB.
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. Create time of the volume
@@ -1138,4 +1169,45 @@
 }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="startSplit">startSplit(name, body=None, x__xgafv=None)</code>
+  <pre>Splits a clone volume from its source volume. This operation will only work for volumes which have clone_details set(clones). For volumes that are not clones, this operation will return an error.
+
+Args:
+  name: string, Required. The full name of the clone volume to be split from its source. Format: projects/{project_number}/locations/{location}/volumes/{volume_id} (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for splitting a volume.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # This resource represents a long-running operation that is the result of a network API call.
+  &quot;done&quot;: True or False, # If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available.
+  &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # The error result of the operation in case of failure or cancellation.
+    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+      {
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    ],
+    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+  },
+  &quot;metadata&quot;: { # Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+  &quot;name&quot;: &quot;A String&quot;, # The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.
+  &quot;response&quot;: { # The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+  },
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/networkconnectivity_v1.projects.locations.automatedDnsRecords.html b/docs/dyn/networkconnectivity_v1.projects.locations.automatedDnsRecords.html
index 88d2672..8f95e73 100644
--- a/docs/dyn/networkconnectivity_v1.projects.locations.automatedDnsRecords.html
+++ b/docs/dyn/networkconnectivity_v1.projects.locations.automatedDnsRecords.html
@@ -134,7 +134,7 @@
     &quot;ttl&quot;: &quot;A String&quot;, # Required. Number of seconds that this DNS record can be cached by resolvers.
   },
   &quot;recordType&quot;: &quot;A String&quot;, # Required. Immutable. The identifier of a supported record type.
-  &quot;serviceClass&quot;: &quot;A String&quot;, # Required. Immutable. The service class identifier which authorizes this AutomatedDnsRecord. Any API calls targeting this AutomatedDnsRecord must have `networkconnectivity.serviceclasses.use` IAM permission for the provided service class.
+  &quot;serviceClass&quot;: &quot;A String&quot;, # Required. Immutable. The service class identifier which authorizes this AutomatedDnsRecord. Any API calls targeting this AutomatedDnsRecord must have `networkconnectivity.serviceClasses.use` IAM permission for the provided service class.
   &quot;state&quot;: &quot;A String&quot;, # Output only. The current operational state of this AutomatedDnsRecord as managed by Service Connectivity Automation.
   &quot;stateDetails&quot;: &quot;A String&quot;, # Output only. A human-readable message providing more context about the current state, such as an error description if the state is `FAILED_DEPROGRAMMING`.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The timestamp of when the record was updated.
@@ -259,7 +259,7 @@
     &quot;ttl&quot;: &quot;A String&quot;, # Required. Number of seconds that this DNS record can be cached by resolvers.
   },
   &quot;recordType&quot;: &quot;A String&quot;, # Required. Immutable. The identifier of a supported record type.
-  &quot;serviceClass&quot;: &quot;A String&quot;, # Required. Immutable. The service class identifier which authorizes this AutomatedDnsRecord. Any API calls targeting this AutomatedDnsRecord must have `networkconnectivity.serviceclasses.use` IAM permission for the provided service class.
+  &quot;serviceClass&quot;: &quot;A String&quot;, # Required. Immutable. The service class identifier which authorizes this AutomatedDnsRecord. Any API calls targeting this AutomatedDnsRecord must have `networkconnectivity.serviceClasses.use` IAM permission for the provided service class.
   &quot;state&quot;: &quot;A String&quot;, # Output only. The current operational state of this AutomatedDnsRecord as managed by Service Connectivity Automation.
   &quot;stateDetails&quot;: &quot;A String&quot;, # Output only. A human-readable message providing more context about the current state, such as an error description if the state is `FAILED_DEPROGRAMMING`.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The timestamp of when the record was updated.
@@ -313,7 +313,7 @@
         &quot;ttl&quot;: &quot;A String&quot;, # Required. Number of seconds that this DNS record can be cached by resolvers.
       },
       &quot;recordType&quot;: &quot;A String&quot;, # Required. Immutable. The identifier of a supported record type.
-      &quot;serviceClass&quot;: &quot;A String&quot;, # Required. Immutable. The service class identifier which authorizes this AutomatedDnsRecord. Any API calls targeting this AutomatedDnsRecord must have `networkconnectivity.serviceclasses.use` IAM permission for the provided service class.
+      &quot;serviceClass&quot;: &quot;A String&quot;, # Required. Immutable. The service class identifier which authorizes this AutomatedDnsRecord. Any API calls targeting this AutomatedDnsRecord must have `networkconnectivity.serviceClasses.use` IAM permission for the provided service class.
       &quot;state&quot;: &quot;A String&quot;, # Output only. The current operational state of this AutomatedDnsRecord as managed by Service Connectivity Automation.
       &quot;stateDetails&quot;: &quot;A String&quot;, # Output only. A human-readable message providing more context about the current state, such as an error description if the state is `FAILED_DEPROGRAMMING`.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The timestamp of when the record was updated.
diff --git a/docs/dyn/networkmanagement_v1.projects.locations.global_.connectivityTests.html b/docs/dyn/networkmanagement_v1.projects.locations.global_.connectivityTests.html
index 993d75d..f3e9cb5 100644
--- a/docs/dyn/networkmanagement_v1.projects.locations.global_.connectivityTests.html
+++ b/docs/dyn/networkmanagement_v1.projects.locations.global_.connectivityTests.html
@@ -139,6 +139,7 @@
       &quot;uri&quot;: &quot;A String&quot;, # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision}
     },
     &quot;cloudSqlInstance&quot;: &quot;A String&quot;, # A [Cloud SQL](https://cloud.google.com/sql) instance URI.
+    &quot;dmsPrivateConnection&quot;: &quot;A String&quot;, # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}.
     &quot;forwardingRule&quot;: &quot;A String&quot;, # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}`
     &quot;forwardingRuleTarget&quot;: &quot;A String&quot;, # Output only. Specifies the type of the target of the forwarding rule.
     &quot;fqdn&quot;: &quot;A String&quot;, # DNS endpoint of [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). Requires gke_master_cluster to be set, can&#x27;t be used simultaneoulsly with ip_address or network. Applicable only to destination endpoint.
@@ -186,12 +187,12 @@
     ],
     &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # The source and destination endpoints derived from the test input and used for active probing.
       &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-      &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+      &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
       &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
       &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
       &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
       &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-      &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+      &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
       &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
     },
     &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Details about an internal failure or the cancellation of active probing.
@@ -233,12 +234,12 @@
       { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
         &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
           &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
           &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
           &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
           &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
         },
         &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -250,39 +251,39 @@
               &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                 &quot;A String&quot;,
               ],
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
             },
             &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
               &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
               &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
             },
             &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
             &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
               &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
             },
             &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
             },
             &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
             },
             &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
             },
             &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -291,17 +292,17 @@
               &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
               &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
               &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
             },
             &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
             &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
               &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -311,18 +312,18 @@
               &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
               &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
               &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
             },
             &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -330,10 +331,10 @@
               &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
               &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
               &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
               &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
               &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
               &quot;priority&quot;: 42, # The priority of the firewall rule.
               &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                 &quot;A String&quot;,
@@ -342,11 +343,11 @@
                 &quot;A String&quot;,
               ],
               &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
             },
             &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
               &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
             },
             &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -354,17 +355,17 @@
               &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
               &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
               &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-              &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
               &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
               &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
             },
             &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
               &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -380,7 +381,7 @@
             },
             &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
             },
             &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -390,7 +391,7 @@
             &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -400,21 +401,21 @@
               &quot;networkTags&quot;: [ # Network tags configured on the instance.
                 &quot;A String&quot;,
               ],
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
               &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
               &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
               &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
             },
             &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
               &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
               &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
             },
             &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
               &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -422,7 +423,7 @@
             },
             &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
               &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-              &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+              &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
               &quot;backends&quot;: [ # Information for the loadbalancer backends.
                 { # For display only. Metadata associated with a specific load balancer backend.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -433,28 +434,28 @@
                     &quot;A String&quot;,
                   ],
                   &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                 },
               ],
               &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
               &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
             },
             &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
               &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
               &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
             },
             &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
               &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
               &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
               &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -464,22 +465,22 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
               &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+              &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
             },
             &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
               &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
               &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
             },
             &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
             },
             &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
             &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
               &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -489,7 +490,7 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
               &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+              &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
               &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -501,15 +502,15 @@
             },
             &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
               &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
             },
             &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
               &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
               &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
               &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -518,16 +519,16 @@
               &quot;instanceTags&quot;: [ # Instance tags of the route.
                 &quot;A String&quot;,
               ],
-              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
               &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
               &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
               &quot;priority&quot;: 42, # Priority of the route.
               &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -539,13 +540,13 @@
               &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
               ],
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
             },
             &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
             },
             &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
             },
             &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
             &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -554,26 +555,26 @@
             &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
             },
             &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
             &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
               &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
               &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
               &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
           },
         ],
@@ -599,12 +600,12 @@
       { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
         &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
           &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
           &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
           &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
           &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
         },
         &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -616,39 +617,39 @@
               &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                 &quot;A String&quot;,
               ],
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
             },
             &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
               &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
               &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
             },
             &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
             &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
               &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
             },
             &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
             },
             &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
             },
             &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
             },
             &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -657,17 +658,17 @@
               &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
               &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
               &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
             },
             &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
             &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
               &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -677,18 +678,18 @@
               &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
               &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
               &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
             },
             &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -696,10 +697,10 @@
               &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
               &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
               &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
               &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
               &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
               &quot;priority&quot;: 42, # The priority of the firewall rule.
               &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                 &quot;A String&quot;,
@@ -708,11 +709,11 @@
                 &quot;A String&quot;,
               ],
               &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
             },
             &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
               &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
             },
             &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -720,17 +721,17 @@
               &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
               &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
               &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-              &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
               &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
               &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
             },
             &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
               &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -746,7 +747,7 @@
             },
             &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
             },
             &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -756,7 +757,7 @@
             &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -766,21 +767,21 @@
               &quot;networkTags&quot;: [ # Network tags configured on the instance.
                 &quot;A String&quot;,
               ],
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
               &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
               &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
               &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
             },
             &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
               &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
               &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
             },
             &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
               &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -788,7 +789,7 @@
             },
             &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
               &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-              &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+              &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
               &quot;backends&quot;: [ # Information for the loadbalancer backends.
                 { # For display only. Metadata associated with a specific load balancer backend.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -799,28 +800,28 @@
                     &quot;A String&quot;,
                   ],
                   &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                 },
               ],
               &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
               &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
             },
             &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
               &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
               &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
             },
             &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
               &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
               &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
               &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -830,22 +831,22 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
               &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+              &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
             },
             &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
               &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
               &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
             },
             &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
             },
             &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
             &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
               &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -855,7 +856,7 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
               &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+              &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
               &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -867,15 +868,15 @@
             },
             &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
               &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
             },
             &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
               &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
               &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
               &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -884,16 +885,16 @@
               &quot;instanceTags&quot;: [ # Instance tags of the route.
                 &quot;A String&quot;,
               ],
-              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
               &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
               &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
               &quot;priority&quot;: 42, # Priority of the route.
               &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -905,13 +906,13 @@
               &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
               ],
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
             },
             &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
             },
             &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
             },
             &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
             &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -920,26 +921,26 @@
             &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
             },
             &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
             &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
               &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
               &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
               &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
           },
         ],
@@ -961,6 +962,7 @@
       &quot;uri&quot;: &quot;A String&quot;, # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision}
     },
     &quot;cloudSqlInstance&quot;: &quot;A String&quot;, # A [Cloud SQL](https://cloud.google.com/sql) instance URI.
+    &quot;dmsPrivateConnection&quot;: &quot;A String&quot;, # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}.
     &quot;forwardingRule&quot;: &quot;A String&quot;, # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}`
     &quot;forwardingRuleTarget&quot;: &quot;A String&quot;, # Output only. Specifies the type of the target of the forwarding rule.
     &quot;fqdn&quot;: &quot;A String&quot;, # DNS endpoint of [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). Requires gke_master_cluster to be set, can&#x27;t be used simultaneoulsly with ip_address or network. Applicable only to destination endpoint.
@@ -1076,6 +1078,7 @@
       &quot;uri&quot;: &quot;A String&quot;, # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision}
     },
     &quot;cloudSqlInstance&quot;: &quot;A String&quot;, # A [Cloud SQL](https://cloud.google.com/sql) instance URI.
+    &quot;dmsPrivateConnection&quot;: &quot;A String&quot;, # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}.
     &quot;forwardingRule&quot;: &quot;A String&quot;, # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}`
     &quot;forwardingRuleTarget&quot;: &quot;A String&quot;, # Output only. Specifies the type of the target of the forwarding rule.
     &quot;fqdn&quot;: &quot;A String&quot;, # DNS endpoint of [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). Requires gke_master_cluster to be set, can&#x27;t be used simultaneoulsly with ip_address or network. Applicable only to destination endpoint.
@@ -1123,12 +1126,12 @@
     ],
     &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # The source and destination endpoints derived from the test input and used for active probing.
       &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-      &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+      &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
       &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
       &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
       &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
       &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-      &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+      &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
       &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
     },
     &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Details about an internal failure or the cancellation of active probing.
@@ -1170,12 +1173,12 @@
       { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
         &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
           &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
           &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
           &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
           &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
         },
         &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -1187,39 +1190,39 @@
               &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                 &quot;A String&quot;,
               ],
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
             },
             &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
               &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
               &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
             },
             &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
             &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
               &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
             },
             &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
             },
             &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
             },
             &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
             },
             &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -1228,17 +1231,17 @@
               &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
               &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
               &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
             },
             &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
             &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
               &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -1248,18 +1251,18 @@
               &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
               &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
               &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
             },
             &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -1267,10 +1270,10 @@
               &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
               &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
               &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
               &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
               &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
               &quot;priority&quot;: 42, # The priority of the firewall rule.
               &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                 &quot;A String&quot;,
@@ -1279,11 +1282,11 @@
                 &quot;A String&quot;,
               ],
               &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
             },
             &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
               &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
             },
             &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -1291,17 +1294,17 @@
               &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
               &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
               &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-              &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
               &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
               &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
             },
             &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
               &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -1317,7 +1320,7 @@
             },
             &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
             },
             &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -1327,7 +1330,7 @@
             &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -1337,21 +1340,21 @@
               &quot;networkTags&quot;: [ # Network tags configured on the instance.
                 &quot;A String&quot;,
               ],
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
               &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
               &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
               &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
             },
             &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
               &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
               &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
             },
             &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
               &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -1359,7 +1362,7 @@
             },
             &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
               &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-              &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+              &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
               &quot;backends&quot;: [ # Information for the loadbalancer backends.
                 { # For display only. Metadata associated with a specific load balancer backend.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -1370,28 +1373,28 @@
                     &quot;A String&quot;,
                   ],
                   &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                 },
               ],
               &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
               &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
             },
             &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
               &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
               &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
             },
             &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
               &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
               &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
               &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -1401,22 +1404,22 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
               &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+              &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
             },
             &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
               &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
               &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
             },
             &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
             },
             &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
             &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
               &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -1426,7 +1429,7 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
               &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+              &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
               &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -1438,15 +1441,15 @@
             },
             &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
               &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
             },
             &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
               &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
               &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
               &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -1455,16 +1458,16 @@
               &quot;instanceTags&quot;: [ # Instance tags of the route.
                 &quot;A String&quot;,
               ],
-              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
               &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
               &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
               &quot;priority&quot;: 42, # Priority of the route.
               &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -1476,13 +1479,13 @@
               &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
               ],
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
             },
             &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
             },
             &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
             },
             &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
             &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -1491,26 +1494,26 @@
             &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
             },
             &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
             &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
               &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
               &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
               &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
           },
         ],
@@ -1536,12 +1539,12 @@
       { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
         &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
           &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
           &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
           &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
           &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
         },
         &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -1553,39 +1556,39 @@
               &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                 &quot;A String&quot;,
               ],
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
             },
             &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
               &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
               &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
             },
             &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
             &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
               &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
             },
             &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
             },
             &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
             },
             &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
             },
             &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -1594,17 +1597,17 @@
               &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
               &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
               &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
             },
             &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
             &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
               &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -1614,18 +1617,18 @@
               &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
               &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
               &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
             },
             &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -1633,10 +1636,10 @@
               &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
               &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
               &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
               &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
               &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
               &quot;priority&quot;: 42, # The priority of the firewall rule.
               &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                 &quot;A String&quot;,
@@ -1645,11 +1648,11 @@
                 &quot;A String&quot;,
               ],
               &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
             },
             &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
               &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
             },
             &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -1657,17 +1660,17 @@
               &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
               &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
               &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-              &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
               &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
               &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
             },
             &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
               &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -1683,7 +1686,7 @@
             },
             &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
             },
             &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -1693,7 +1696,7 @@
             &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -1703,21 +1706,21 @@
               &quot;networkTags&quot;: [ # Network tags configured on the instance.
                 &quot;A String&quot;,
               ],
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
               &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
               &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
               &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
             },
             &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
               &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
               &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
             },
             &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
               &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -1725,7 +1728,7 @@
             },
             &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
               &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-              &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+              &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
               &quot;backends&quot;: [ # Information for the loadbalancer backends.
                 { # For display only. Metadata associated with a specific load balancer backend.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -1736,28 +1739,28 @@
                     &quot;A String&quot;,
                   ],
                   &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                 },
               ],
               &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
               &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
             },
             &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
               &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
               &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
             },
             &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
               &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
               &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
               &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -1767,22 +1770,22 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
               &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+              &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
             },
             &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
               &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
               &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
             },
             &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
             },
             &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
             &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
               &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -1792,7 +1795,7 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
               &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+              &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
               &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -1804,15 +1807,15 @@
             },
             &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
               &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
             },
             &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
               &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
               &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
               &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -1821,16 +1824,16 @@
               &quot;instanceTags&quot;: [ # Instance tags of the route.
                 &quot;A String&quot;,
               ],
-              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
               &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
               &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
               &quot;priority&quot;: 42, # Priority of the route.
               &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -1842,13 +1845,13 @@
               &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
               ],
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
             },
             &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
             },
             &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
             },
             &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
             &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -1857,26 +1860,26 @@
             &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
             },
             &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
             &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
               &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
               &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
               &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
           },
         ],
@@ -1898,6 +1901,7 @@
       &quot;uri&quot;: &quot;A String&quot;, # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision}
     },
     &quot;cloudSqlInstance&quot;: &quot;A String&quot;, # A [Cloud SQL](https://cloud.google.com/sql) instance URI.
+    &quot;dmsPrivateConnection&quot;: &quot;A String&quot;, # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}.
     &quot;forwardingRule&quot;: &quot;A String&quot;, # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}`
     &quot;forwardingRuleTarget&quot;: &quot;A String&quot;, # Output only. Specifies the type of the target of the forwarding rule.
     &quot;fqdn&quot;: &quot;A String&quot;, # DNS endpoint of [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). Requires gke_master_cluster to be set, can&#x27;t be used simultaneoulsly with ip_address or network. Applicable only to destination endpoint.
@@ -2004,6 +2008,7 @@
           &quot;uri&quot;: &quot;A String&quot;, # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision}
         },
         &quot;cloudSqlInstance&quot;: &quot;A String&quot;, # A [Cloud SQL](https://cloud.google.com/sql) instance URI.
+        &quot;dmsPrivateConnection&quot;: &quot;A String&quot;, # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}.
         &quot;forwardingRule&quot;: &quot;A String&quot;, # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}`
         &quot;forwardingRuleTarget&quot;: &quot;A String&quot;, # Output only. Specifies the type of the target of the forwarding rule.
         &quot;fqdn&quot;: &quot;A String&quot;, # DNS endpoint of [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). Requires gke_master_cluster to be set, can&#x27;t be used simultaneoulsly with ip_address or network. Applicable only to destination endpoint.
@@ -2051,12 +2056,12 @@
         ],
         &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # The source and destination endpoints derived from the test input and used for active probing.
           &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
           &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
           &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
           &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
         },
         &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Details about an internal failure or the cancellation of active probing.
@@ -2098,12 +2103,12 @@
           { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
             &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -2115,39 +2120,39 @@
                   &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                     &quot;A String&quot;,
                   ],
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
                 },
                 &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
                   &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
                   &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
                 },
                 &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
                 &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
                   &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
                 },
                 &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
                 },
                 &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-                  &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+                  &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
                 },
                 &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
                   &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
                   &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
                 },
                 &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
                   &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -2156,17 +2161,17 @@
                   &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
                   &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
                   &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
                   &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
                 },
                 &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
                 &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
                   &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
                   &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-                  &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+                  &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
                 },
                 &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
                   &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -2176,18 +2181,18 @@
                   &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
                   &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
                   &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
                   &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
                   &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
                 },
                 &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
                   &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-                  &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+                  &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
                   &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
                   &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
                   &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-                  &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+                  &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
                 },
                 &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -2195,10 +2200,10 @@
                   &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
                   &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
                   &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
                   &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
                   &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-                  &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+                  &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
                   &quot;priority&quot;: 42, # The priority of the firewall rule.
                   &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                     &quot;A String&quot;,
@@ -2207,11 +2212,11 @@
                     &quot;A String&quot;,
                   ],
                   &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-                  &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+                  &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
                 },
                 &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
                   &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
                 },
                 &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -2219,17 +2224,17 @@
                   &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
                   &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
                   &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
                   &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
                   &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
                   &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
                 },
                 &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-                  &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-                  &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+                  &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+                  &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
                   &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
                   &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
                   &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -2245,7 +2250,7 @@
                 },
                 &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
                 },
                 &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -2255,7 +2260,7 @@
                 &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
                 },
                 &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -2265,21 +2270,21 @@
                   &quot;networkTags&quot;: [ # Network tags configured on the instance.
                     &quot;A String&quot;,
                   ],
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-                  &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+                  &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
                   &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
                   &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
                   &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
                 },
                 &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-                  &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+                  &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-                  &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+                  &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
                   &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
                   &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
                 },
                 &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
                   &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -2287,7 +2292,7 @@
                 },
                 &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
                   &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-                  &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+                  &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
                   &quot;backends&quot;: [ # Information for the loadbalancer backends.
                     { # For display only. Metadata associated with a specific load balancer backend.
                       &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -2298,28 +2303,28 @@
                         &quot;A String&quot;,
                       ],
                       &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                      &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                      &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                     },
                   ],
                   &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
                   &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
                 },
                 &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-                  &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-                  &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+                  &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+                  &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
                   &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-                  &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-                  &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-                  &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+                  &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+                  &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+                  &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
                   &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-                  &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+                  &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                   &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
                 },
                 &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
                   &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
                   &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
                   &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
                   &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -2329,22 +2334,22 @@
                   &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
                   &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
                   &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-                  &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+                  &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
                   &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
                 },
                 &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
                   &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-                  &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+                  &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
                   &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
                 },
                 &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-                  &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+                  &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
                 },
                 &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
                 &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
                   &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
                   &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -2354,7 +2359,7 @@
                   &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
                   &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
                   &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-                  &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+                  &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
                 },
                 &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
                   &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -2366,15 +2371,15 @@
                 },
                 &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
                   &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
                   &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
                 },
                 &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
                   &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-                  &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+                  &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
                   &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
                   &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                     &quot;A String&quot;,
@@ -2383,16 +2388,16 @@
                   &quot;instanceTags&quot;: [ # Instance tags of the route.
                     &quot;A String&quot;,
                   ],
-                  &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-                  &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-                  &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+                  &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+                  &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+                  &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-                  &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+                  &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
                   &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
                   &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-                  &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+                  &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
                   &quot;priority&quot;: 42, # Priority of the route.
                   &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                     &quot;A String&quot;,
@@ -2404,13 +2409,13 @@
                   &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                     &quot;A String&quot;,
                   ],
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
                 },
                 &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
                   &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
                 },
                 &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-                  &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+                  &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
                 },
                 &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
                 &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -2419,26 +2424,26 @@
                 &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
                 },
                 &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-                  &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+                  &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
                 },
                 &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-                  &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+                  &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
                   &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
                   &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-                  &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+                  &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
                   &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
                 },
               },
             ],
@@ -2464,12 +2469,12 @@
           { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
             &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -2481,39 +2486,39 @@
                   &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                     &quot;A String&quot;,
                   ],
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
                 },
                 &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
                   &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
                   &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
                 },
                 &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
                 &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
                   &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
                 },
                 &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
                 },
                 &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-                  &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+                  &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
                 },
                 &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
                   &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
                   &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
                 },
                 &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
                   &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -2522,17 +2527,17 @@
                   &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
                   &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
                   &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
                   &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
                 },
                 &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
                 &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
                   &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
                   &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-                  &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+                  &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
                 },
                 &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
                   &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -2542,18 +2547,18 @@
                   &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
                   &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
                   &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
                   &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
                   &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
                 },
                 &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
                   &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-                  &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+                  &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
                   &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
                   &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
                   &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-                  &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+                  &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
                 },
                 &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -2561,10 +2566,10 @@
                   &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
                   &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
                   &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
                   &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
                   &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-                  &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+                  &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
                   &quot;priority&quot;: 42, # The priority of the firewall rule.
                   &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                     &quot;A String&quot;,
@@ -2573,11 +2578,11 @@
                     &quot;A String&quot;,
                   ],
                   &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-                  &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+                  &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
                 },
                 &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
                   &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
                 },
                 &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -2585,17 +2590,17 @@
                   &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
                   &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
                   &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
                   &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
                   &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
                   &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
                 },
                 &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-                  &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-                  &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+                  &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+                  &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
                   &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
                   &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
                   &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -2611,7 +2616,7 @@
                 },
                 &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
                 },
                 &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -2621,7 +2626,7 @@
                 &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
                 },
                 &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -2631,21 +2636,21 @@
                   &quot;networkTags&quot;: [ # Network tags configured on the instance.
                     &quot;A String&quot;,
                   ],
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-                  &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+                  &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
                   &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
                   &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
                   &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
                 },
                 &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-                  &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+                  &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-                  &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+                  &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
                   &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
                   &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
                 },
                 &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
                   &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -2653,7 +2658,7 @@
                 },
                 &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
                   &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-                  &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+                  &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
                   &quot;backends&quot;: [ # Information for the loadbalancer backends.
                     { # For display only. Metadata associated with a specific load balancer backend.
                       &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -2664,28 +2669,28 @@
                         &quot;A String&quot;,
                       ],
                       &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                      &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                      &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                     },
                   ],
                   &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
                   &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
                 },
                 &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-                  &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-                  &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+                  &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+                  &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
                   &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-                  &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-                  &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-                  &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+                  &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+                  &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+                  &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
                   &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-                  &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+                  &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                   &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
                 },
                 &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
                   &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
                   &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
                   &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
                   &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -2695,22 +2700,22 @@
                   &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
                   &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
                   &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-                  &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+                  &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
                   &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
                 },
                 &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
                   &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-                  &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+                  &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
                   &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
                 },
                 &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-                  &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+                  &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
                 },
                 &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
                 &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
                   &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
                   &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -2720,7 +2725,7 @@
                   &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
                   &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
                   &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-                  &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+                  &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
                 },
                 &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
                   &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -2732,15 +2737,15 @@
                 },
                 &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
                   &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
                   &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
                 },
                 &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
                   &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-                  &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+                  &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
                   &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
                   &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                     &quot;A String&quot;,
@@ -2749,16 +2754,16 @@
                   &quot;instanceTags&quot;: [ # Instance tags of the route.
                     &quot;A String&quot;,
                   ],
-                  &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-                  &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-                  &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+                  &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+                  &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+                  &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-                  &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+                  &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
                   &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
                   &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-                  &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+                  &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
                   &quot;priority&quot;: 42, # Priority of the route.
                   &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                     &quot;A String&quot;,
@@ -2770,13 +2775,13 @@
                   &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                     &quot;A String&quot;,
                   ],
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
                 },
                 &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
                   &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
                 },
                 &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-                  &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+                  &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
                 },
                 &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
                 &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -2785,26 +2790,26 @@
                 &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
                 },
                 &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-                  &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+                  &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
                 },
                 &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-                  &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+                  &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
                   &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
                   &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-                  &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+                  &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
                   &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
                 },
               },
             ],
@@ -2826,6 +2831,7 @@
           &quot;uri&quot;: &quot;A String&quot;, # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision}
         },
         &quot;cloudSqlInstance&quot;: &quot;A String&quot;, # A [Cloud SQL](https://cloud.google.com/sql) instance URI.
+        &quot;dmsPrivateConnection&quot;: &quot;A String&quot;, # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}.
         &quot;forwardingRule&quot;: &quot;A String&quot;, # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}`
         &quot;forwardingRuleTarget&quot;: &quot;A String&quot;, # Output only. Specifies the type of the target of the forwarding rule.
         &quot;fqdn&quot;: &quot;A String&quot;, # DNS endpoint of [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). Requires gke_master_cluster to be set, can&#x27;t be used simultaneoulsly with ip_address or network. Applicable only to destination endpoint.
@@ -2891,6 +2897,7 @@
       &quot;uri&quot;: &quot;A String&quot;, # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision}
     },
     &quot;cloudSqlInstance&quot;: &quot;A String&quot;, # A [Cloud SQL](https://cloud.google.com/sql) instance URI.
+    &quot;dmsPrivateConnection&quot;: &quot;A String&quot;, # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}.
     &quot;forwardingRule&quot;: &quot;A String&quot;, # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}`
     &quot;forwardingRuleTarget&quot;: &quot;A String&quot;, # Output only. Specifies the type of the target of the forwarding rule.
     &quot;fqdn&quot;: &quot;A String&quot;, # DNS endpoint of [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). Requires gke_master_cluster to be set, can&#x27;t be used simultaneoulsly with ip_address or network. Applicable only to destination endpoint.
@@ -2938,12 +2945,12 @@
     ],
     &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # The source and destination endpoints derived from the test input and used for active probing.
       &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-      &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+      &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
       &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
       &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
       &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
       &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-      &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+      &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
       &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
     },
     &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Details about an internal failure or the cancellation of active probing.
@@ -2985,12 +2992,12 @@
       { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
         &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
           &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
           &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
           &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
           &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
         },
         &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -3002,39 +3009,39 @@
               &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                 &quot;A String&quot;,
               ],
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
             },
             &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
               &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
               &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
             },
             &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
             &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
               &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
             },
             &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
             },
             &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
             },
             &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
             },
             &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -3043,17 +3050,17 @@
               &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
               &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
               &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
             },
             &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
             &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
               &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -3063,18 +3070,18 @@
               &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
               &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
               &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
             },
             &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -3082,10 +3089,10 @@
               &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
               &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
               &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
               &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
               &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
               &quot;priority&quot;: 42, # The priority of the firewall rule.
               &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                 &quot;A String&quot;,
@@ -3094,11 +3101,11 @@
                 &quot;A String&quot;,
               ],
               &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
             },
             &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
               &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
             },
             &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -3106,17 +3113,17 @@
               &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
               &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
               &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-              &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
               &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
               &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
             },
             &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
               &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -3132,7 +3139,7 @@
             },
             &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
             },
             &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -3142,7 +3149,7 @@
             &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -3152,21 +3159,21 @@
               &quot;networkTags&quot;: [ # Network tags configured on the instance.
                 &quot;A String&quot;,
               ],
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
               &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
               &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
               &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
             },
             &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
               &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
               &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
             },
             &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
               &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -3174,7 +3181,7 @@
             },
             &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
               &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-              &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+              &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
               &quot;backends&quot;: [ # Information for the loadbalancer backends.
                 { # For display only. Metadata associated with a specific load balancer backend.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -3185,28 +3192,28 @@
                     &quot;A String&quot;,
                   ],
                   &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                 },
               ],
               &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
               &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
             },
             &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
               &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
               &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
             },
             &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
               &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
               &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
               &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -3216,22 +3223,22 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
               &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+              &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
             },
             &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
               &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
               &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
             },
             &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
             },
             &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
             &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
               &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -3241,7 +3248,7 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
               &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+              &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
               &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -3253,15 +3260,15 @@
             },
             &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
               &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
             },
             &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
               &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
               &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
               &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -3270,16 +3277,16 @@
               &quot;instanceTags&quot;: [ # Instance tags of the route.
                 &quot;A String&quot;,
               ],
-              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
               &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
               &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
               &quot;priority&quot;: 42, # Priority of the route.
               &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -3291,13 +3298,13 @@
               &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
               ],
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
             },
             &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
             },
             &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
             },
             &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
             &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -3306,26 +3313,26 @@
             &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
             },
             &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
             &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
               &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
               &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
               &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
           },
         ],
@@ -3351,12 +3358,12 @@
       { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
         &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
           &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
           &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
           &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
           &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
         },
         &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -3368,39 +3375,39 @@
               &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                 &quot;A String&quot;,
               ],
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
             },
             &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
               &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
               &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
             },
             &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
             &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
               &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
             },
             &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
             },
             &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
             },
             &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
             },
             &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -3409,17 +3416,17 @@
               &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
               &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
               &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
             },
             &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
             &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
               &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -3429,18 +3436,18 @@
               &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
               &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
               &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
             },
             &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -3448,10 +3455,10 @@
               &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
               &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
               &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
               &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
               &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
               &quot;priority&quot;: 42, # The priority of the firewall rule.
               &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                 &quot;A String&quot;,
@@ -3460,11 +3467,11 @@
                 &quot;A String&quot;,
               ],
               &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
             },
             &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
               &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
             },
             &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -3472,17 +3479,17 @@
               &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
               &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
               &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-              &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
               &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
               &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
             },
             &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
               &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -3498,7 +3505,7 @@
             },
             &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
             },
             &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -3508,7 +3515,7 @@
             &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -3518,21 +3525,21 @@
               &quot;networkTags&quot;: [ # Network tags configured on the instance.
                 &quot;A String&quot;,
               ],
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
               &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
               &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
               &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
             },
             &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
               &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
               &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
             },
             &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
               &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -3540,7 +3547,7 @@
             },
             &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
               &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-              &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+              &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
               &quot;backends&quot;: [ # Information for the loadbalancer backends.
                 { # For display only. Metadata associated with a specific load balancer backend.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -3551,28 +3558,28 @@
                     &quot;A String&quot;,
                   ],
                   &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                 },
               ],
               &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
               &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
             },
             &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
               &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
               &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
             },
             &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
               &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
               &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
               &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -3582,22 +3589,22 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
               &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+              &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
             },
             &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
               &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
               &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
             },
             &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
             },
             &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
             &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
               &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -3607,7 +3614,7 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
               &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+              &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
               &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -3619,15 +3626,15 @@
             },
             &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
               &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
             },
             &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
               &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
               &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
               &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -3636,16 +3643,16 @@
               &quot;instanceTags&quot;: [ # Instance tags of the route.
                 &quot;A String&quot;,
               ],
-              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
               &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
               &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
               &quot;priority&quot;: 42, # Priority of the route.
               &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -3657,13 +3664,13 @@
               &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
               ],
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
             },
             &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
             },
             &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
             },
             &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
             &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -3672,26 +3679,26 @@
             &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
             },
             &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
             &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
               &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
               &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
               &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
           },
         ],
@@ -3713,6 +3720,7 @@
       &quot;uri&quot;: &quot;A String&quot;, # A [Cloud Run](https://cloud.google.com/run) [revision](https://cloud.google.com/run/docs/reference/rest/v1/namespaces.revisions/get) URI. The format is: projects/{project}/locations/{location}/revisions/{revision}
     },
     &quot;cloudSqlInstance&quot;: &quot;A String&quot;, # A [Cloud SQL](https://cloud.google.com/sql) instance URI.
+    &quot;dmsPrivateConnection&quot;: &quot;A String&quot;, # A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}.
     &quot;forwardingRule&quot;: &quot;A String&quot;, # A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}`
     &quot;forwardingRuleTarget&quot;: &quot;A String&quot;, # Output only. Specifies the type of the target of the forwarding rule.
     &quot;fqdn&quot;: &quot;A String&quot;, # DNS endpoint of [Google Kubernetes Engine cluster control plane](https://cloud.google.com/kubernetes-engine/docs/concepts/cluster-architecture). Requires gke_master_cluster to be set, can&#x27;t be used simultaneoulsly with ip_address or network. Applicable only to destination endpoint.
diff --git a/docs/dyn/networkmanagement_v1beta1.projects.locations.global_.connectivityTests.html b/docs/dyn/networkmanagement_v1beta1.projects.locations.global_.connectivityTests.html
index 7818f06..7ce726b 100644
--- a/docs/dyn/networkmanagement_v1beta1.projects.locations.global_.connectivityTests.html
+++ b/docs/dyn/networkmanagement_v1beta1.projects.locations.global_.connectivityTests.html
@@ -188,12 +188,12 @@
     ],
     &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # The source and destination endpoints derived from the test input and used for active probing.
       &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-      &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+      &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
       &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
       &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
       &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
       &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-      &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+      &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
       &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
     },
     &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Details about an internal failure or the cancellation of active probing.
@@ -235,12 +235,12 @@
       { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
         &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
           &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
           &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
           &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
           &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
         },
         &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -252,39 +252,39 @@
               &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                 &quot;A String&quot;,
               ],
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
             },
             &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
               &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
               &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
             },
             &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
             &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
               &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
             },
             &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
             },
             &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
             },
             &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
             },
             &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -293,17 +293,17 @@
               &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
               &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
               &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
             },
             &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
             &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
               &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -313,18 +313,18 @@
               &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
               &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
               &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
             },
             &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -332,10 +332,10 @@
               &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
               &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
               &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
               &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
               &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
               &quot;priority&quot;: 42, # The priority of the firewall rule.
               &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                 &quot;A String&quot;,
@@ -344,11 +344,11 @@
                 &quot;A String&quot;,
               ],
               &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
             },
             &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
               &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
             },
             &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -356,17 +356,17 @@
               &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
               &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
               &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-              &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
               &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
               &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
             },
             &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
               &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -382,7 +382,7 @@
             },
             &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
             },
             &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -392,7 +392,7 @@
             &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -402,21 +402,21 @@
               &quot;networkTags&quot;: [ # Network tags configured on the instance.
                 &quot;A String&quot;,
               ],
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
               &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
               &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
               &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
             },
             &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
               &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
               &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
             },
             &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
               &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -424,7 +424,7 @@
             },
             &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
               &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-              &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+              &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
               &quot;backends&quot;: [ # Information for the loadbalancer backends.
                 { # For display only. Metadata associated with a specific load balancer backend.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -435,28 +435,28 @@
                     &quot;A String&quot;,
                   ],
                   &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                 },
               ],
               &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
               &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
             },
             &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
               &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
               &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
             },
             &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
               &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
               &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
               &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -466,22 +466,22 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
               &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+              &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
             },
             &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
               &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
               &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
             },
             &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
             },
             &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
             &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
               &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -491,7 +491,7 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
               &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+              &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
               &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -503,15 +503,15 @@
             },
             &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
               &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
             },
             &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
               &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
               &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
               &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -520,16 +520,16 @@
               &quot;instanceTags&quot;: [ # Instance tags of the route.
                 &quot;A String&quot;,
               ],
-              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
               &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
               &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
               &quot;priority&quot;: 42, # Priority of the route.
               &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -541,13 +541,13 @@
               &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
               ],
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
             },
             &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
             },
             &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
             },
             &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
             &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -556,26 +556,26 @@
             &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
             },
             &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
             &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
               &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
               &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
               &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
           },
         ],
@@ -601,12 +601,12 @@
       { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
         &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
           &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
           &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
           &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
           &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
         },
         &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -618,39 +618,39 @@
               &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                 &quot;A String&quot;,
               ],
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
             },
             &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
               &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
               &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
             },
             &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
             &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
               &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
             },
             &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
             },
             &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
             },
             &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
             },
             &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -659,17 +659,17 @@
               &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
               &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
               &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
             },
             &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
             &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
               &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -679,18 +679,18 @@
               &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
               &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
               &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
             },
             &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -698,10 +698,10 @@
               &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
               &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
               &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
               &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
               &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
               &quot;priority&quot;: 42, # The priority of the firewall rule.
               &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                 &quot;A String&quot;,
@@ -710,11 +710,11 @@
                 &quot;A String&quot;,
               ],
               &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
             },
             &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
               &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
             },
             &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -722,17 +722,17 @@
               &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
               &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
               &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-              &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
               &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
               &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
             },
             &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
               &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -748,7 +748,7 @@
             },
             &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
             },
             &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -758,7 +758,7 @@
             &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -768,21 +768,21 @@
               &quot;networkTags&quot;: [ # Network tags configured on the instance.
                 &quot;A String&quot;,
               ],
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
               &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
               &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
               &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
             },
             &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
               &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
               &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
             },
             &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
               &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -790,7 +790,7 @@
             },
             &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
               &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-              &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+              &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
               &quot;backends&quot;: [ # Information for the loadbalancer backends.
                 { # For display only. Metadata associated with a specific load balancer backend.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -801,28 +801,28 @@
                     &quot;A String&quot;,
                   ],
                   &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                 },
               ],
               &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
               &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
             },
             &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
               &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
               &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
             },
             &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
               &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
               &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
               &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -832,22 +832,22 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
               &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+              &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
             },
             &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
               &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
               &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
             },
             &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
             },
             &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
             &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
               &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -857,7 +857,7 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
               &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+              &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
               &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -869,15 +869,15 @@
             },
             &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
               &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
             },
             &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
               &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
               &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
               &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -886,16 +886,16 @@
               &quot;instanceTags&quot;: [ # Instance tags of the route.
                 &quot;A String&quot;,
               ],
-              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
               &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
               &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
               &quot;priority&quot;: 42, # Priority of the route.
               &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -907,13 +907,13 @@
               &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
               ],
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
             },
             &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
             },
             &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
             },
             &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
             &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -922,26 +922,26 @@
             &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
             },
             &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
             &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
               &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
               &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
               &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
           },
         ],
@@ -1129,12 +1129,12 @@
     ],
     &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # The source and destination endpoints derived from the test input and used for active probing.
       &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-      &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+      &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
       &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
       &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
       &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
       &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-      &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+      &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
       &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
     },
     &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Details about an internal failure or the cancellation of active probing.
@@ -1176,12 +1176,12 @@
       { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
         &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
           &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
           &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
           &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
           &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
         },
         &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -1193,39 +1193,39 @@
               &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                 &quot;A String&quot;,
               ],
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
             },
             &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
               &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
               &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
             },
             &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
             &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
               &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
             },
             &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
             },
             &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
             },
             &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
             },
             &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -1234,17 +1234,17 @@
               &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
               &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
               &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
             },
             &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
             &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
               &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -1254,18 +1254,18 @@
               &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
               &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
               &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
             },
             &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -1273,10 +1273,10 @@
               &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
               &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
               &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
               &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
               &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
               &quot;priority&quot;: 42, # The priority of the firewall rule.
               &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                 &quot;A String&quot;,
@@ -1285,11 +1285,11 @@
                 &quot;A String&quot;,
               ],
               &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
             },
             &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
               &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
             },
             &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -1297,17 +1297,17 @@
               &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
               &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
               &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-              &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
               &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
               &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
             },
             &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
               &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -1323,7 +1323,7 @@
             },
             &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
             },
             &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -1333,7 +1333,7 @@
             &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -1343,21 +1343,21 @@
               &quot;networkTags&quot;: [ # Network tags configured on the instance.
                 &quot;A String&quot;,
               ],
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
               &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
               &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
               &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
             },
             &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
               &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
               &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
             },
             &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
               &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -1365,7 +1365,7 @@
             },
             &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
               &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-              &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+              &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
               &quot;backends&quot;: [ # Information for the loadbalancer backends.
                 { # For display only. Metadata associated with a specific load balancer backend.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -1376,28 +1376,28 @@
                     &quot;A String&quot;,
                   ],
                   &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                 },
               ],
               &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
               &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
             },
             &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
               &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
               &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
             },
             &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
               &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
               &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
               &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -1407,22 +1407,22 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
               &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+              &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
             },
             &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
               &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
               &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
             },
             &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
             },
             &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
             &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
               &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -1432,7 +1432,7 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
               &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+              &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
               &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -1444,15 +1444,15 @@
             },
             &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
               &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
             },
             &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
               &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
               &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
               &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -1461,16 +1461,16 @@
               &quot;instanceTags&quot;: [ # Instance tags of the route.
                 &quot;A String&quot;,
               ],
-              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
               &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
               &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
               &quot;priority&quot;: 42, # Priority of the route.
               &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -1482,13 +1482,13 @@
               &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
               ],
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
             },
             &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
             },
             &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
             },
             &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
             &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -1497,26 +1497,26 @@
             &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
             },
             &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
             &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
               &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
               &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
               &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
           },
         ],
@@ -1542,12 +1542,12 @@
       { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
         &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
           &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
           &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
           &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
           &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
         },
         &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -1559,39 +1559,39 @@
               &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                 &quot;A String&quot;,
               ],
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
             },
             &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
               &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
               &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
             },
             &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
             &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
               &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
             },
             &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
             },
             &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
             },
             &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
             },
             &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -1600,17 +1600,17 @@
               &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
               &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
               &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
             },
             &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
             &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
               &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -1620,18 +1620,18 @@
               &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
               &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
               &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
             },
             &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -1639,10 +1639,10 @@
               &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
               &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
               &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
               &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
               &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
               &quot;priority&quot;: 42, # The priority of the firewall rule.
               &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                 &quot;A String&quot;,
@@ -1651,11 +1651,11 @@
                 &quot;A String&quot;,
               ],
               &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
             },
             &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
               &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
             },
             &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -1663,17 +1663,17 @@
               &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
               &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
               &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-              &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
               &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
               &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
             },
             &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
               &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -1689,7 +1689,7 @@
             },
             &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
             },
             &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -1699,7 +1699,7 @@
             &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -1709,21 +1709,21 @@
               &quot;networkTags&quot;: [ # Network tags configured on the instance.
                 &quot;A String&quot;,
               ],
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
               &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
               &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
               &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
             },
             &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
               &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
               &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
             },
             &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
               &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -1731,7 +1731,7 @@
             },
             &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
               &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-              &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+              &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
               &quot;backends&quot;: [ # Information for the loadbalancer backends.
                 { # For display only. Metadata associated with a specific load balancer backend.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -1742,28 +1742,28 @@
                     &quot;A String&quot;,
                   ],
                   &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                 },
               ],
               &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
               &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
             },
             &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
               &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
               &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
             },
             &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
               &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
               &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
               &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -1773,22 +1773,22 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
               &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+              &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
             },
             &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
               &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
               &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
             },
             &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
             },
             &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
             &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
               &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -1798,7 +1798,7 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
               &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+              &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
               &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -1810,15 +1810,15 @@
             },
             &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
               &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
             },
             &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
               &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
               &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
               &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -1827,16 +1827,16 @@
               &quot;instanceTags&quot;: [ # Instance tags of the route.
                 &quot;A String&quot;,
               ],
-              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
               &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
               &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
               &quot;priority&quot;: 42, # Priority of the route.
               &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -1848,13 +1848,13 @@
               &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
               ],
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
             },
             &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
             },
             &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
             },
             &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
             &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -1863,26 +1863,26 @@
             &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
             },
             &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
             &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
               &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
               &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
               &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
           },
         ],
@@ -2061,12 +2061,12 @@
         ],
         &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # The source and destination endpoints derived from the test input and used for active probing.
           &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
           &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
           &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
           &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
         },
         &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Details about an internal failure or the cancellation of active probing.
@@ -2108,12 +2108,12 @@
           { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
             &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -2125,39 +2125,39 @@
                   &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                     &quot;A String&quot;,
                   ],
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
                 },
                 &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
                   &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
                   &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
                 },
                 &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
                 &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
                   &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
                 },
                 &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
                 },
                 &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-                  &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+                  &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
                 },
                 &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
                   &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
                   &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
                 },
                 &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
                   &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -2166,17 +2166,17 @@
                   &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
                   &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
                   &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
                   &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
                 },
                 &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
                 &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
                   &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
                   &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-                  &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+                  &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
                 },
                 &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
                   &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -2186,18 +2186,18 @@
                   &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
                   &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
                   &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
                   &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
                   &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
                 },
                 &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
                   &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-                  &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+                  &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
                   &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
                   &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
                   &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-                  &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+                  &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
                 },
                 &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -2205,10 +2205,10 @@
                   &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
                   &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
                   &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
                   &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
                   &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-                  &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+                  &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
                   &quot;priority&quot;: 42, # The priority of the firewall rule.
                   &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                     &quot;A String&quot;,
@@ -2217,11 +2217,11 @@
                     &quot;A String&quot;,
                   ],
                   &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-                  &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+                  &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
                 },
                 &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
                   &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
                 },
                 &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -2229,17 +2229,17 @@
                   &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
                   &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
                   &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
                   &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
                   &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
                   &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
                 },
                 &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-                  &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-                  &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+                  &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+                  &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
                   &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
                   &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
                   &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -2255,7 +2255,7 @@
                 },
                 &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
                 },
                 &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -2265,7 +2265,7 @@
                 &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
                 },
                 &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -2275,21 +2275,21 @@
                   &quot;networkTags&quot;: [ # Network tags configured on the instance.
                     &quot;A String&quot;,
                   ],
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-                  &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+                  &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
                   &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
                   &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
                   &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
                 },
                 &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-                  &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+                  &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-                  &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+                  &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
                   &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
                   &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
                 },
                 &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
                   &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -2297,7 +2297,7 @@
                 },
                 &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
                   &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-                  &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+                  &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
                   &quot;backends&quot;: [ # Information for the loadbalancer backends.
                     { # For display only. Metadata associated with a specific load balancer backend.
                       &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -2308,28 +2308,28 @@
                         &quot;A String&quot;,
                       ],
                       &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                      &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                      &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                     },
                   ],
                   &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
                   &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
                 },
                 &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-                  &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-                  &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+                  &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+                  &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
                   &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-                  &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-                  &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-                  &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+                  &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+                  &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+                  &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
                   &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-                  &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+                  &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                   &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
                 },
                 &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
                   &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
                   &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
                   &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
                   &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -2339,22 +2339,22 @@
                   &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
                   &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
                   &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-                  &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+                  &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
                   &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
                 },
                 &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
                   &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-                  &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+                  &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
                   &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
                 },
                 &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-                  &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+                  &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
                 },
                 &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
                 &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
                   &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
                   &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -2364,7 +2364,7 @@
                   &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
                   &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
                   &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-                  &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+                  &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
                 },
                 &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
                   &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -2376,15 +2376,15 @@
                 },
                 &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
                   &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
                   &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
                 },
                 &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
                   &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-                  &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+                  &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
                   &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
                   &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                     &quot;A String&quot;,
@@ -2393,16 +2393,16 @@
                   &quot;instanceTags&quot;: [ # Instance tags of the route.
                     &quot;A String&quot;,
                   ],
-                  &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-                  &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-                  &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+                  &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+                  &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+                  &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-                  &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+                  &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
                   &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
                   &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-                  &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+                  &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
                   &quot;priority&quot;: 42, # Priority of the route.
                   &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                     &quot;A String&quot;,
@@ -2414,13 +2414,13 @@
                   &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                     &quot;A String&quot;,
                   ],
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
                 },
                 &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
                   &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
                 },
                 &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-                  &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+                  &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
                 },
                 &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
                 &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -2429,26 +2429,26 @@
                 &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
                 },
                 &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-                  &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+                  &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
                 },
                 &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-                  &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+                  &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
                   &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
                   &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-                  &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+                  &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
                   &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
                 },
               },
             ],
@@ -2474,12 +2474,12 @@
           { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
             &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -2491,39 +2491,39 @@
                   &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                     &quot;A String&quot;,
                   ],
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
                 },
                 &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
                   &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
                   &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
                 },
                 &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
                 &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
                   &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
                 },
                 &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
                 },
                 &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-                  &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+                  &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
                 },
                 &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
                   &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
                   &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
                 },
                 &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
                   &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -2532,17 +2532,17 @@
                   &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
                   &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
                   &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
                   &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
                 },
                 &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
                 &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
                   &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
                   &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-                  &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+                  &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
                 },
                 &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
                   &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -2552,18 +2552,18 @@
                   &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
                   &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
                   &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
                   &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
                   &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
                 },
                 &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
                   &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-                  &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+                  &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
                   &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
                   &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
                   &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-                  &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+                  &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
                 },
                 &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -2571,10 +2571,10 @@
                   &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
                   &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
                   &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
                   &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
                   &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-                  &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+                  &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
                   &quot;priority&quot;: 42, # The priority of the firewall rule.
                   &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                     &quot;A String&quot;,
@@ -2583,11 +2583,11 @@
                     &quot;A String&quot;,
                   ],
                   &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-                  &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+                  &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
                 },
                 &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+                  &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
                   &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
                 },
                 &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -2595,17 +2595,17 @@
                   &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
                   &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
                   &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
                   &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
                   &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
                   &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
                 },
                 &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-                  &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-                  &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+                  &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+                  &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
                   &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
                   &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
                   &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -2621,7 +2621,7 @@
                 },
                 &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
                 },
                 &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -2631,7 +2631,7 @@
                 &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
                 },
                 &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -2641,21 +2641,21 @@
                   &quot;networkTags&quot;: [ # Network tags configured on the instance.
                     &quot;A String&quot;,
                   ],
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-                  &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+                  &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
                   &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
                   &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
                   &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
                 },
                 &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-                  &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+                  &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-                  &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+                  &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
                   &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
                   &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
                 },
                 &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
                   &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -2663,7 +2663,7 @@
                 },
                 &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
                   &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-                  &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+                  &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
                   &quot;backends&quot;: [ # Information for the loadbalancer backends.
                     { # For display only. Metadata associated with a specific load balancer backend.
                       &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -2674,28 +2674,28 @@
                         &quot;A String&quot;,
                       ],
                       &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                      &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                      &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                     },
                   ],
                   &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
                   &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
                 },
                 &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-                  &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-                  &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+                  &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+                  &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
                   &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-                  &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-                  &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-                  &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+                  &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+                  &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+                  &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
                   &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-                  &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+                  &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                   &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+                  &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
                 },
                 &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
                   &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
                   &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
                   &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
                   &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -2705,22 +2705,22 @@
                   &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
                   &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
                   &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-                  &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+                  &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
                   &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
                 },
                 &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
                   &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-                  &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+                  &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
                   &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
                 },
                 &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-                  &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+                  &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
                 },
                 &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
                 &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
                   &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
                   &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -2730,7 +2730,7 @@
                   &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
                   &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
                   &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-                  &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+                  &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
                 },
                 &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
                   &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -2742,15 +2742,15 @@
                 },
                 &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
                   &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
                   &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
                 },
                 &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
                   &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-                  &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+                  &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
                   &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
                   &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                     &quot;A String&quot;,
@@ -2759,16 +2759,16 @@
                   &quot;instanceTags&quot;: [ # Instance tags of the route.
                     &quot;A String&quot;,
                   ],
-                  &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-                  &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-                  &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+                  &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+                  &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+                  &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-                  &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+                  &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
                   &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
                   &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
                   &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-                  &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+                  &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
                   &quot;priority&quot;: 42, # Priority of the route.
                   &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                     &quot;A String&quot;,
@@ -2780,13 +2780,13 @@
                   &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                     &quot;A String&quot;,
                   ],
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
                 },
                 &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
                   &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
                 },
                 &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-                  &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+                  &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
                 },
                 &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
                 &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -2795,26 +2795,26 @@
                 &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
                   &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
                 },
                 &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
                   &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-                  &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+                  &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
                 },
                 &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+                  &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
                   &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-                  &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+                  &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
                   &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
                   &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-                  &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+                  &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
                   &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
                 },
               },
             ],
@@ -2952,12 +2952,12 @@
     ],
     &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # The source and destination endpoints derived from the test input and used for active probing.
       &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-      &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+      &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
       &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
       &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
       &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
       &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-      &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+      &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
       &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
     },
     &quot;error&quot;: { # The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). # Details about an internal failure or the cancellation of active probing.
@@ -2999,12 +2999,12 @@
       { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
         &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
           &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
           &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
           &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
           &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
         },
         &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -3016,39 +3016,39 @@
               &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                 &quot;A String&quot;,
               ],
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
             },
             &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
               &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
               &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
             },
             &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
             &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
               &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
             },
             &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
             },
             &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
             },
             &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
             },
             &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -3057,17 +3057,17 @@
               &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
               &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
               &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
             },
             &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
             &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
               &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -3077,18 +3077,18 @@
               &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
               &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
               &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
             },
             &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -3096,10 +3096,10 @@
               &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
               &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
               &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
               &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
               &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
               &quot;priority&quot;: 42, # The priority of the firewall rule.
               &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                 &quot;A String&quot;,
@@ -3108,11 +3108,11 @@
                 &quot;A String&quot;,
               ],
               &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
             },
             &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
               &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
             },
             &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -3120,17 +3120,17 @@
               &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
               &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
               &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-              &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
               &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
               &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
             },
             &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
               &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -3146,7 +3146,7 @@
             },
             &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
             },
             &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -3156,7 +3156,7 @@
             &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -3166,21 +3166,21 @@
               &quot;networkTags&quot;: [ # Network tags configured on the instance.
                 &quot;A String&quot;,
               ],
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
               &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
               &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
               &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
             },
             &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
               &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
               &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
             },
             &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
               &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -3188,7 +3188,7 @@
             },
             &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
               &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-              &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+              &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
               &quot;backends&quot;: [ # Information for the loadbalancer backends.
                 { # For display only. Metadata associated with a specific load balancer backend.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -3199,28 +3199,28 @@
                     &quot;A String&quot;,
                   ],
                   &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                 },
               ],
               &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
               &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
             },
             &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
               &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
               &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
             },
             &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
               &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
               &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
               &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -3230,22 +3230,22 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
               &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+              &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
             },
             &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
               &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
               &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
             },
             &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
             },
             &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
             &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
               &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -3255,7 +3255,7 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
               &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+              &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
               &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -3267,15 +3267,15 @@
             },
             &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
               &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
             },
             &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
               &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
               &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
               &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -3284,16 +3284,16 @@
               &quot;instanceTags&quot;: [ # Instance tags of the route.
                 &quot;A String&quot;,
               ],
-              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
               &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
               &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
               &quot;priority&quot;: 42, # Priority of the route.
               &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -3305,13 +3305,13 @@
               &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
               ],
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
             },
             &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
             },
             &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
             },
             &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
             &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -3320,26 +3320,26 @@
             &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
             },
             &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
             &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
               &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
               &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
               &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
           },
         ],
@@ -3365,12 +3365,12 @@
       { # Trace represents one simulated packet forwarding path. * Each trace contains multiple ordered steps. * Each step is in a particular state with associated configuration. * State is categorized as final or non-final states. * Each final state has a reason associated. * Each trace must end with a final state (the last step). ``` |---------------------Trace----------------------| Step1(State) Step2(State) --- StepN(State(final)) ```
         &quot;endpointInfo&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Derived from the source and destination endpoints definition specified by user request, and validated by the data plane model. If there are multiple traces starting from different source locations, then the endpoint_info may be different between traces.
           &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+          &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
           &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
           &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
           &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+          &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
           &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
         },
         &quot;forwardTraceId&quot;: 42, # ID of trace. For forward traces, this ID is unique for each trace. For return traces, it matches ID of associated forward trace. A single forward trace can be associated with none, one or more than one return trace.
@@ -3382,39 +3382,39 @@
               &quot;projectsMissingPermission&quot;: [ # List of project IDs the user specified in the request but lacks access to. In this case, analysis is aborted with the PERMISSION_DENIED cause.
                 &quot;A String&quot;,
               ],
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)
             },
             &quot;appEngineVersion&quot;: { # For display only. Metadata associated with an App Engine version. # Display information of an App Engine service version.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an App Engine version.
               &quot;environment&quot;: &quot;A String&quot;, # App Engine execution environment for a version.
               &quot;runtime&quot;: &quot;A String&quot;, # Runtime of the App Engine version.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an App Engine version.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`
             },
             &quot;causesDrop&quot;: True or False, # This is a step that leads to the final state Drop.
             &quot;cloudFunction&quot;: { # For display only. Metadata associated with a Cloud Function. # Display information of a Cloud Function.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Function.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the Cloud Function is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Function.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`
               &quot;versionId&quot;: &quot;A String&quot;, # Latest successfully deployed version id of the Cloud Function.
             },
             &quot;cloudRunJob&quot;: { # For display only. Metadata associated with a Cloud Run job. # Display information of a Cloud Run job.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run job.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this job is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run job.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`
             },
             &quot;cloudRunRevision&quot;: { # For display only. Metadata associated with a Cloud Run revision. # Display information of a Cloud Run revision.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Run revision.
               &quot;location&quot;: &quot;A String&quot;, # Location in which this revision is deployed.
-              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Run revision.
+              &quot;serviceUri&quot;: &quot;A String&quot;, # URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`
             },
             &quot;cloudSqlInstance&quot;: { # For display only. Metadata associated with a Cloud SQL instance. # Display information of a Cloud SQL instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud SQL instance.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a Cloud SQL instance.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a Cloud SQL instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance network or empty string if the instance does not have one. In format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud SQL instance is running.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud SQL instance in format &quot;projects/{project}/instances/{instance}&quot;
             },
             &quot;datastreamPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a Datastream Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -3423,17 +3423,17 @@
               &quot;googleServiceType&quot;: &quot;A String&quot;, # Recognized type of a Google Service the packet is delivered to (if applicable).
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target the packet is delivered to (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is delivered to. For example: * `&quot;projects/{project}/zones/{zone}/instances/{instance}&quot;` * `&quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;`
               &quot;storageBucket&quot;: &quot;A String&quot;, # Name of the Cloud Storage Bucket the packet is delivered to (if applicable).
               &quot;target&quot;: &quot;A String&quot;, # Target type where the packet is delivered to.
             },
             &quot;description&quot;: &quot;A String&quot;, # A description of the step. Usually this is a summary of the state.
             &quot;directVpcEgressConnection&quot;: { # For display only. Metadata associated with a serverless direct VPC egress connection. # Display information of a serverless direct VPC egress connection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of direct access network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Direct VPC egress is deployed.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the selected IP range.
               &quot;selectedIpRange&quot;: &quot;A String&quot;, # Selected IP range.
-              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of direct access subnetwork.
+              &quot;subnetworkUri&quot;: &quot;A String&quot;, # URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;dmsPrivateConnection&quot;: { # For display only. Metadata associated with a Private Connection. # Display information of a DMS Private Connection.
               &quot;uri&quot;: &quot;A String&quot;, # URI of the Private Connection in format &quot;projects/{project_id}/locations/{location}/privateConnections/{private_connection_id}&quot;
@@ -3443,18 +3443,18 @@
               &quot;destinationGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the destination IP address (if relevant).
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address of the dropped packet (if relevant).
               &quot;region&quot;: &quot;A String&quot;, # Region of the dropped packet (if relevant).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)
               &quot;sourceGeolocationCode&quot;: &quot;A String&quot;, # Geolocation (region code) of the source IP address (if relevant).
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address of the dropped packet (if relevant).
             },
             &quot;endpoint&quot;: { # For display only. The specification of the endpoints for the test. EndpointInfo is derived from source and destination Endpoint and validated by the backend data plane model. # Display information of the source and destination under analysis. The endpoint information in an intermediate state may differ with the initial input, as it might be modified by state like NAT, or Connection Proxy.
               &quot;destinationIp&quot;: &quot;A String&quot;, # Destination IP address.
-              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to.
+              &quot;destinationNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;destinationPort&quot;: 42, # Destination port. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
               &quot;sourceAgentUri&quot;: &quot;A String&quot;, # URI of the source telemetry agent this packet originates from.
               &quot;sourceIp&quot;: &quot;A String&quot;, # Source IP address.
-              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from.
+              &quot;sourceNetworkUri&quot;: &quot;A String&quot;, # URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;sourcePort&quot;: 42, # Source port. Only valid when protocol is TCP or UDP.
             },
             &quot;firewall&quot;: { # For display only. Metadata associated with a VPC firewall rule, an implied VPC firewall rule, or a firewall policy rule. # Display information of a Compute Engine firewall rule.
@@ -3462,10 +3462,10 @@
               &quot;direction&quot;: &quot;A String&quot;, # Possible values: INGRESS, EGRESS
               &quot;displayName&quot;: &quot;A String&quot;, # The display name of the firewall rule. This field might be empty for firewall policy rules.
               &quot;firewallRuleType&quot;: &quot;A String&quot;, # The firewall rule&#x27;s type.
-              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.
+              &quot;networkUri&quot;: &quot;A String&quot;, # The URI of the VPC network that the firewall rule is associated with in format &quot;projects/{project}/global/networks/{network}&quot;. This field is not applicable to hierarchical firewall policy rules.
               &quot;policy&quot;: &quot;A String&quot;, # The name of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
               &quot;policyPriority&quot;: 42, # The priority of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
-              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.
+              &quot;policyUri&quot;: &quot;A String&quot;, # The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)
               &quot;priority&quot;: 42, # The priority of the firewall rule.
               &quot;targetServiceAccounts&quot;: [ # The target service accounts specified by the firewall rule.
                 &quot;A String&quot;,
@@ -3474,11 +3474,11 @@
                 &quot;A String&quot;,
               ],
               &quot;targetType&quot;: &quot;A String&quot;, # Target type of the firewall rule.
-              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.
+              &quot;uri&quot;: &quot;A String&quot;, # The URI of the firewall rule in format &quot;projects/{project}/global/firewalls/{firewall}&quot;. This field is not applicable to implied VPC firewall rules.
             },
             &quot;forward&quot;: { # Details of the final state &quot;forward&quot; and associated resource. # Display information of the final state &quot;forward&quot; and reason.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the target (if applicable).
-              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to.
+              &quot;resourceUri&quot;: &quot;A String&quot;, # URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)
               &quot;target&quot;: &quot;A String&quot;, # Target type where this packet is forwarded to.
             },
             &quot;forwardingRule&quot;: { # For display only. Metadata associated with a Compute Engine forwarding rule. # Display information of a Compute Engine forwarding rule.
@@ -3486,17 +3486,17 @@
               &quot;loadBalancerName&quot;: &quot;A String&quot;, # Name of the load balancer the forwarding rule belongs to. Empty for forwarding rules not related to load balancers (like PSC forwarding rules).
               &quot;matchedPortRange&quot;: &quot;A String&quot;, # Port range defined in the forwarding rule that matches the packet.
               &quot;matchedProtocol&quot;: &quot;A String&quot;, # Protocol defined in the forwarding rule that matches the packet.
-              &quot;networkUri&quot;: &quot;A String&quot;, # Network URI.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the forwarding rule is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this forwarding rule targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this forwarding rule targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
               &quot;region&quot;: &quot;A String&quot;, # Region of the forwarding rule. Set only for regional forwarding rules.
               &quot;target&quot;: &quot;A String&quot;, # Target type of the forwarding rule.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the forwarding rule in format &quot;projects/{project}/global/forwardingRules/{forwarding_rule}&quot; (global) or &quot;projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}&quot; (regional).
               &quot;vip&quot;: &quot;A String&quot;, # VIP of the forwarding rule.
             },
             &quot;gkeMaster&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) cluster master. # Display information of a Google Kubernetes Engine cluster master.
-              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of a GKE cluster network.
-              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of a GKE cluster.
+              &quot;clusterNetworkUri&quot;: &quot;A String&quot;, # URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`
+              &quot;clusterUri&quot;: &quot;A String&quot;, # URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)
               &quot;dnsEndpoint&quot;: &quot;A String&quot;, # DNS endpoint of a GKE cluster control plane.
               &quot;externalIp&quot;: &quot;A String&quot;, # External IP address of a GKE cluster control plane.
               &quot;internalIp&quot;: &quot;A String&quot;, # Internal IP address of a GKE cluster control plane.
@@ -3512,7 +3512,7 @@
             },
             &quot;gkePod&quot;: { # For display only. Metadata associated with a Google Kubernetes Engine (GKE) Pod. # Display information of a Google Kubernetes Engine Pod.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of a GKE Pod. If the Pod is dual-stack, this is the IP address relevant to the trace.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;podUri&quot;: &quot;A String&quot;, # URI of a GKE Pod. For Pods in regional Clusters, the URI format is: `projects/{project}/locations/{location}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}` For Pods in zonal Clusters, the URI format is: `projects/{project}/zones/{zone}/clusters/{cluster}/k8s/namespaces/{namespace}/pods/{pod}`
             },
             &quot;googleService&quot;: { # For display only. Details of a Google Service sending packets to a VPC network. Although the source IP might be a publicly routable address, some Google Services use special routes within Google production infrastructure to reach Compute Engine Instances. https://cloud.google.com/vpc/docs/routes#special_return_paths # Display information of a Google service
@@ -3522,7 +3522,7 @@
             &quot;hybridSubnet&quot;: { # For display only. Metadata associated with a hybrid subnet. # Display information of a hybrid subnet.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a hybrid subnet.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the hybrid subnet is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a hybrid subnet.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;instance&quot;: { # For display only. Metadata associated with a Compute Engine instance. # Display information of a Compute Engine instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance.
@@ -3532,21 +3532,21 @@
               &quot;networkTags&quot;: [ # Network tags configured on the instance.
                 &quot;A String&quot;,
               ],
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
-              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant).
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
+              &quot;pscNetworkAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC network attachment the NIC is attached to (if relevant) in format &quot;projects/{project}/regions/{region}/networkAttachments/{network_attachment}&quot;
               &quot;running&quot;: True or False, # Indicates whether the Compute Engine instance is running. Deprecated: use the `status` field instead.
               &quot;serviceAccount&quot;: &quot;A String&quot;, # Service account authorized for the instance.
               &quot;status&quot;: &quot;A String&quot;, # The status of the instance.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;
             },
             &quot;interconnectAttachment&quot;: { # For display only. Metadata associated with an Interconnect attachment. # Display information of an interconnect attachment.
-              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing.
+              &quot;cloudRouterUri&quot;: &quot;A String&quot;, # URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;displayName&quot;: &quot;A String&quot;, # Name of an Interconnect attachment.
-              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect where the Interconnect attachment is configured.
+              &quot;interconnectUri&quot;: &quot;A String&quot;, # URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`
               &quot;l2AttachmentMatchedIpAddress&quot;: &quot;A String&quot;, # Appliance IP address that was matched for L2_DEDICATED attachments.
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where the Interconnect attachment is configured.
               &quot;type&quot;: &quot;A String&quot;, # The type of interconnect attachment this is.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of an Interconnect attachment.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`
             },
             &quot;ipMasqueradingSkipped&quot;: { # For display only. Contains information about why IP masquerading was skipped for the packet. # Display information of the reason why GKE Pod IP masquerading was skipped.
               &quot;nonMasqueradeRange&quot;: &quot;A String&quot;, # The matched non-masquerade IP range. Only set if reason is DESTINATION_IP_IN_CONFIGURED_NON_MASQUERADE_RANGE or DESTINATION_IP_IN_DEFAULT_NON_MASQUERADE_RANGE.
@@ -3554,7 +3554,7 @@
             },
             &quot;loadBalancer&quot;: { # For display only. Metadata associated with a load balancer. # Display information of the load balancers. Deprecated in favor of the `load_balancer_backend_info` field, not used in new tests.
               &quot;backendType&quot;: &quot;A String&quot;, # Type of load balancer&#x27;s backend configuration.
-              &quot;backendUri&quot;: &quot;A String&quot;, # Backend configuration URI.
+              &quot;backendUri&quot;: &quot;A String&quot;, # URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`
               &quot;backends&quot;: [ # Information for the loadbalancer backends.
                 { # For display only. Metadata associated with a specific load balancer backend.
                   &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine instance or network endpoint.
@@ -3565,28 +3565,28 @@
                     &quot;A String&quot;,
                   ],
                   &quot;healthCheckFirewallState&quot;: &quot;A String&quot;, # State of the health check firewall configuration.
-                  &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine instance or network endpoint.
+                  &quot;uri&quot;: &quot;A String&quot;, # URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
                 },
               ],
               &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check for the load balancer. Deprecated and no longer populated as different load balancer backends might have different health checks.
               &quot;loadBalancerType&quot;: &quot;A String&quot;, # Type of the load balancer.
             },
             &quot;loadBalancerBackendInfo&quot;: { # For display only. Metadata associated with the load balancer backend. # Display information of a specific load balancer backend.
-              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable).
-              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable).
+              &quot;backendBucketUri&quot;: &quot;A String&quot;, # URI of the backend bucket this backend targets (if applicable) in format &quot;projects/{project}/global/backendBuckets/{backend_bucket}&quot;.
+              &quot;backendServiceUri&quot;: &quot;A String&quot;, # URI of the backend service this backend belongs to (if applicable) in format &quot;projects/{project}/regions/{region}/backendServices/{backend_service}&quot; (regional) or &quot;projects/{project}/global/backendServices/{backend_service}&quot; (global).
               &quot;healthCheckFirewallsConfigState&quot;: &quot;A String&quot;, # Output only. Health check firewalls configuration state for the backend. This is a result of the static firewall analysis (verifying that health check traffic from required IP ranges to the backend is allowed or not). The backend might still be unhealthy even if these firewalls are configured. Please refer to the documentation for more information: https://cloud.google.com/load-balancing/docs/firewall-rules
-              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable).
-              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable).
-              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.
+              &quot;healthCheckUri&quot;: &quot;A String&quot;, # URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)
+              &quot;instanceGroupUri&quot;: &quot;A String&quot;, # URI of the instance group this backend belongs to (if applicable) in format &quot;projects/{project}/zones/{zone}/instanceGroups/{instance_group}&quot;.
+              &quot;instanceUri&quot;: &quot;A String&quot;, # URI of the backend instance (if applicable) in format &quot;projects/{project}/zones/{zone}/instances/{instance}&quot;. Populated for instance group backends, and zonal NEG backends.
               &quot;name&quot;: &quot;A String&quot;, # Display name of the backend. For example, it might be an instance name for the instance group backends, or an IP address and port for zonal network endpoint group backends.
-              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable).
+              &quot;networkEndpointGroupUri&quot;: &quot;A String&quot;, # URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)
               &quot;pscGoogleApiTarget&quot;: &quot;A String&quot;, # PSC Google API target this PSC NEG backend targets (if applicable).
-              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable).
+              &quot;pscServiceAttachmentUri&quot;: &quot;A String&quot;, # URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format &quot;projects/{project}/regions/{region}/serviceAttachments/{service_attachment}&quot;.
             },
             &quot;nat&quot;: { # For display only. Metadata associated with NAT. # Display information of a NAT.
               &quot;cloudNatGatewayType&quot;: &quot;A String&quot;, # Type of Cloud NAT gateway. Only valid when `type` is CLOUD_NAT.
               &quot;natGatewayName&quot;: &quot;A String&quot;, # The name of Cloud NAT Gateway. Only valid when type is CLOUD_NAT.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where NAT translation takes place.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address after NAT translation.
               &quot;newDestinationPort&quot;: 42, # Destination port after NAT translation. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address after NAT translation.
@@ -3596,22 +3596,22 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address before NAT translation.
               &quot;oldSourcePort&quot;: 42, # Source port before NAT translation. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;routerUri&quot;: &quot;A String&quot;, # Uri of the Cloud Router. Only valid when type is CLOUD_NAT.
+              &quot;routerUri&quot;: &quot;A String&quot;, # URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`
               &quot;type&quot;: &quot;A String&quot;, # Type of NAT.
             },
             &quot;network&quot;: { # For display only. Metadata associated with a Compute Engine network. # Display information of a Google Cloud network.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Compute Engine network.
               &quot;matchedIpRange&quot;: &quot;A String&quot;, # The IP range of the subnet matching the source IP address of the test.
-              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test.
+              &quot;matchedSubnetUri&quot;: &quot;A String&quot;, # URI of the subnet matching the source IP address of the test in format &quot;projects/{project}/regions/{region}/subnetworks/{subnetwork}&quot;
               &quot;region&quot;: &quot;A String&quot;, # The region of the subnet matching the source IP address of the test.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Compute Engine network in format &quot;projects/{project}/global/networks/{network}&quot;
             },
             &quot;ngfwPacketInspection&quot;: { # For display only. Metadata associated with a layer 7 packet inspection by the firewall. # Display information of a layer 7 packet inspection by the firewall.
-              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection.
+              &quot;securityProfileGroupUri&quot;: &quot;A String&quot;, # URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`
             },
             &quot;projectId&quot;: &quot;A String&quot;, # Project ID that contains the configuration this step is validating.
             &quot;proxyConnection&quot;: { # For display only. Metadata associated with ProxyConnection. # Display information of a ProxyConnection.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the network where connection is proxied.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;newDestinationIp&quot;: &quot;A String&quot;, # Destination IP address of a new connection.
               &quot;newDestinationPort&quot;: 42, # Destination port of a new connection. Only valid when protocol is TCP or UDP.
               &quot;newSourceIp&quot;: &quot;A String&quot;, # Source IP address of a new connection.
@@ -3621,7 +3621,7 @@
               &quot;oldSourceIp&quot;: &quot;A String&quot;, # Source IP address of an original connection.
               &quot;oldSourcePort&quot;: 42, # Source port of an original connection. Only valid when protocol is TCP or UDP.
               &quot;protocol&quot;: &quot;A String&quot;, # IP protocol in string format, for example: &quot;TCP&quot;, &quot;UDP&quot;, &quot;ICMP&quot;.
-              &quot;subnetUri&quot;: &quot;A String&quot;, # Uri of proxy subnet.
+              &quot;subnetUri&quot;: &quot;A String&quot;, # URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`
             },
             &quot;redisCluster&quot;: { # For display only. Metadata associated with a Redis Cluster. # Display information of a Redis Cluster.
               &quot;discoveryEndpointIpAddress&quot;: &quot;A String&quot;, # Discovery endpoint IP address of a Redis Cluster.
@@ -3633,15 +3633,15 @@
             },
             &quot;redisInstance&quot;: { # For display only. Metadata associated with a Cloud Redis Instance. # Display information of a Redis Instance.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a Cloud Redis Instance.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance network in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;primaryEndpointIp&quot;: &quot;A String&quot;, # Primary endpoint IP address of a Cloud Redis Instance.
               &quot;readEndpointIp&quot;: &quot;A String&quot;, # Read endpoint IP address of a Cloud Redis Instance (if applicable).
               &quot;region&quot;: &quot;A String&quot;, # Region in which the Cloud Redis Instance is defined.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a Cloud Redis Instance in format &quot;projects/{project}/locations/{location}/instances/{instance}&quot;
             },
             &quot;route&quot;: { # For display only. Metadata associated with a Compute Engine route. # Display information of a Compute Engine route.
               &quot;advertisedRouteNextHopUri&quot;: &quot;A String&quot;, # For ADVERTISED routes, the URI of their next hop, i.e. the URI of the hybrid endpoint (VPN tunnel, Interconnect attachment, NCC router appliance) the advertised prefix is advertised through, or URI of the source peered network. Deprecated in favor of the next_hop_uri field, not used in new tests.
-              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.
+              &quot;advertisedRouteSourceRouterUri&quot;: &quot;A String&quot;, # For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format &quot;projects/{project}/regions/{region}/routers/{router}&quot;.
               &quot;destIpRange&quot;: &quot;A String&quot;, # Destination IP range of the route.
               &quot;destPortRanges&quot;: [ # Destination port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -3650,16 +3650,16 @@
               &quot;instanceTags&quot;: [ # Instance tags of the route.
                 &quot;A String&quot;,
               ],
-              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table.
-              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located.
+              &quot;nccHubRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub&#x27;s routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`
+              &quot;nccHubUri&quot;: &quot;A String&quot;, # URI of the NCC Hub the route is advertised by in format &quot;projects/{project}/locations/global/hubs/{hub}&quot;. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;nccSpokeUri&quot;: &quot;A String&quot;, # URI of the destination NCC Spoke in format &quot;projects/{project}/locations/{location}/spokes/{spoke}&quot; (regional) or &quot;projects/{project}/locations/global/spokes/{spoke}&quot; (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a VPC network where route is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHop&quot;: &quot;A String&quot;, # String type of the next hop of the route (for example, &quot;VPN tunnel&quot;). Deprecated in favor of the next_hop_type and next_hop_uri fields, not used in new tests.
-              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located.
+              &quot;nextHopNetworkUri&quot;: &quot;A String&quot;, # URI of a VPC network where the next hop resource is located in format &quot;projects/{project}/global/networks/{network}&quot;.
               &quot;nextHopType&quot;: &quot;A String&quot;, # Type of next hop.
               &quot;nextHopUri&quot;: &quot;A String&quot;, # URI of the next hop resource.
               &quot;originatingRouteDisplayName&quot;: &quot;A String&quot;, # For PEERING_SUBNET, PEERING_STATIC and PEERING_DYNAMIC routes, the name of the originating SUBNET/STATIC/DYNAMIC route.
-              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.
+              &quot;originatingRouteUri&quot;: &quot;A String&quot;, # For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`
               &quot;priority&quot;: 42, # Priority of the route.
               &quot;protocols&quot;: [ # Protocols of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
@@ -3671,13 +3671,13 @@
               &quot;srcPortRanges&quot;: [ # Source port ranges of the route. POLICY_BASED routes only.
                 &quot;A String&quot;,
               ],
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a route in format &quot;projects/{project}/global/routes/{route}&quot;. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.
             },
             &quot;serverlessExternalConnection&quot;: { # For display only. Metadata associated with a serverless public connection. # Display information of a serverless public (external) connection.
               &quot;selectedIpAddress&quot;: &quot;A String&quot;, # Selected starting IP address, from the Google dynamic address pool.
             },
             &quot;serverlessNeg&quot;: { # For display only. Metadata associated with the serverless network endpoint group backend. # Display information of a Serverless network endpoint group backend. Used only for return traces.
-              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group.
+              &quot;negUri&quot;: &quot;A String&quot;, # URI of the serverless network endpoint group in format &quot;projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}&quot;.
             },
             &quot;state&quot;: &quot;A String&quot;, # Each step is in one of the pre-defined states.
             &quot;storageBucket&quot;: { # For display only. Metadata associated with Storage Bucket. # Display information of a Storage Bucket. Used only for return traces.
@@ -3686,26 +3686,26 @@
             &quot;vpcConnector&quot;: { # For display only. Metadata associated with a VPC connector. # Display information of a VPC connector.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPC connector.
               &quot;location&quot;: &quot;A String&quot;, # Location in which the VPC connector is deployed.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`
             },
             &quot;vpnGateway&quot;: { # For display only. Metadata associated with a Compute Engine VPN gateway. # Display information of a Compute Engine VPN gateway.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN gateway.
               &quot;ipAddress&quot;: &quot;A String&quot;, # IP address of the VPN gateway.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN gateway is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN gateway is configured.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN gateway.
-              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
+              &quot;vpnTunnelUri&quot;: &quot;A String&quot;, # URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
             &quot;vpnTunnel&quot;: { # For display only. Metadata associated with a Compute Engine VPN tunnel. # Display information of a Compute Engine VPN tunnel.
               &quot;displayName&quot;: &quot;A String&quot;, # Name of a VPN tunnel.
-              &quot;networkUri&quot;: &quot;A String&quot;, # URI of a Compute Engine network where the VPN tunnel is configured.
+              &quot;networkUri&quot;: &quot;A String&quot;, # URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`
               &quot;region&quot;: &quot;A String&quot;, # Name of a Google Cloud region where this VPN tunnel is configured.
-              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel.
+              &quot;remoteGateway&quot;: &quot;A String&quot;, # URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)
               &quot;remoteGatewayIp&quot;: &quot;A String&quot;, # Remote VPN gateway&#x27;s IP address.
               &quot;routingType&quot;: &quot;A String&quot;, # Type of the routing policy.
-              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel.
+              &quot;sourceGateway&quot;: &quot;A String&quot;, # URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)
               &quot;sourceGatewayIp&quot;: &quot;A String&quot;, # Local VPN gateway&#x27;s IP address.
-              &quot;uri&quot;: &quot;A String&quot;, # URI of a VPN tunnel.
+              &quot;uri&quot;: &quot;A String&quot;, # URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`
             },
           },
         ],
diff --git a/docs/dyn/networksecurity_v1beta1.projects.locations.mirroringEndpointGroupAssociations.html b/docs/dyn/networksecurity_v1beta1.projects.locations.mirroringEndpointGroupAssociations.html
index 89900f3..93b4b2f 100644
--- a/docs/dyn/networksecurity_v1beta1.projects.locations.mirroringEndpointGroupAssociations.html
+++ b/docs/dyn/networksecurity_v1beta1.projects.locations.mirroringEndpointGroupAssociations.html
@@ -130,6 +130,7 @@
   &quot;mirroringEndpointGroup&quot;: &quot;A String&quot;, # Immutable. The endpoint group that this association is connected to, for example: `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See https://google.aip.dev/124.
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Identifier. The resource name of this endpoint group association, for example: `projects/123456789/locations/global/mirroringEndpointGroupAssociations/my-eg-association`. See https://google.aip.dev/122 for more details.
   &quot;network&quot;: &quot;A String&quot;, # Immutable. The VPC network that is associated. for example: `projects/123456789/global/networks/my-network`. See https://google.aip.dev/124.
+  &quot;networkCookie&quot;: 42, # Output only. Identifier used by the data-path. See the NSI GENEVE format for more details: https://docs.cloud.google.com/network-security-integration/docs/understand-geneve#network_id
   &quot;reconciling&quot;: True or False, # Output only. The current state of the resource does not match the user&#x27;s intended state, and the system is working to reconcile them. This part of the normal operation (e.g. adding a new location to the target deployment group). See https://google.aip.dev/128.
   &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the endpoint group association.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when the resource was most recently updated. See https://google.aip.dev/148#timestamps.
@@ -236,6 +237,7 @@
   &quot;mirroringEndpointGroup&quot;: &quot;A String&quot;, # Immutable. The endpoint group that this association is connected to, for example: `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See https://google.aip.dev/124.
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Identifier. The resource name of this endpoint group association, for example: `projects/123456789/locations/global/mirroringEndpointGroupAssociations/my-eg-association`. See https://google.aip.dev/122 for more details.
   &quot;network&quot;: &quot;A String&quot;, # Immutable. The VPC network that is associated. for example: `projects/123456789/global/networks/my-network`. See https://google.aip.dev/124.
+  &quot;networkCookie&quot;: 42, # Output only. Identifier used by the data-path. See the NSI GENEVE format for more details: https://docs.cloud.google.com/network-security-integration/docs/understand-geneve#network_id
   &quot;reconciling&quot;: True or False, # Output only. The current state of the resource does not match the user&#x27;s intended state, and the system is working to reconcile them. This part of the normal operation (e.g. adding a new location to the target deployment group). See https://google.aip.dev/128.
   &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the endpoint group association.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when the resource was most recently updated. See https://google.aip.dev/148#timestamps.
@@ -282,6 +284,7 @@
       &quot;mirroringEndpointGroup&quot;: &quot;A String&quot;, # Immutable. The endpoint group that this association is connected to, for example: `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See https://google.aip.dev/124.
       &quot;name&quot;: &quot;A String&quot;, # Immutable. Identifier. The resource name of this endpoint group association, for example: `projects/123456789/locations/global/mirroringEndpointGroupAssociations/my-eg-association`. See https://google.aip.dev/122 for more details.
       &quot;network&quot;: &quot;A String&quot;, # Immutable. The VPC network that is associated. for example: `projects/123456789/global/networks/my-network`. See https://google.aip.dev/124.
+      &quot;networkCookie&quot;: 42, # Output only. Identifier used by the data-path. See the NSI GENEVE format for more details: https://docs.cloud.google.com/network-security-integration/docs/understand-geneve#network_id
       &quot;reconciling&quot;: True or False, # Output only. The current state of the resource does not match the user&#x27;s intended state, and the system is working to reconcile them. This part of the normal operation (e.g. adding a new location to the target deployment group). See https://google.aip.dev/128.
       &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the endpoint group association.
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when the resource was most recently updated. See https://google.aip.dev/148#timestamps.
@@ -334,6 +337,7 @@
   &quot;mirroringEndpointGroup&quot;: &quot;A String&quot;, # Immutable. The endpoint group that this association is connected to, for example: `projects/123456789/locations/global/mirroringEndpointGroups/my-eg`. See https://google.aip.dev/124.
   &quot;name&quot;: &quot;A String&quot;, # Immutable. Identifier. The resource name of this endpoint group association, for example: `projects/123456789/locations/global/mirroringEndpointGroupAssociations/my-eg-association`. See https://google.aip.dev/122 for more details.
   &quot;network&quot;: &quot;A String&quot;, # Immutable. The VPC network that is associated. for example: `projects/123456789/global/networks/my-network`. See https://google.aip.dev/124.
+  &quot;networkCookie&quot;: 42, # Output only. Identifier used by the data-path. See the NSI GENEVE format for more details: https://docs.cloud.google.com/network-security-integration/docs/understand-geneve#network_id
   &quot;reconciling&quot;: True or False, # Output only. The current state of the resource does not match the user&#x27;s intended state, and the system is working to reconcile them. This part of the normal operation (e.g. adding a new location to the target deployment group). See https://google.aip.dev/128.
   &quot;state&quot;: &quot;A String&quot;, # Output only. Current state of the endpoint group association.
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The timestamp when the resource was most recently updated. See https://google.aip.dev/148#timestamps.
diff --git a/docs/dyn/ondemandscanning_v1.projects.locations.scans.html b/docs/dyn/ondemandscanning_v1.projects.locations.scans.html
index 85b95b8..ef3812a 100644
--- a/docs/dyn/ondemandscanning_v1.projects.locations.scans.html
+++ b/docs/dyn/ondemandscanning_v1.projects.locations.scans.html
@@ -153,6 +153,13 @@
         },
       ],
       &quot;hashDigest&quot;: &quot;A String&quot;, # HashDigest stores the SHA512 hash digest of the jar file if the package is of type Maven. This field will be unset for non Maven packages.
+      &quot;ingestionSources&quot;: [ # The list of sources that were scanned to find this package. This can be a Docker image, an SBOM attachment, or both, for example.
+        { # Indicates where an extracted package originates from.
+          &quot;attachmentUri&quot;: &quot;A String&quot;, # The attachment URI that this package was extracted from.
+          &quot;resourceUrl&quot;: &quot;A String&quot;, # The resource URL of the resource that was scanned to find this package.
+          &quot;source&quot;: &quot;A String&quot;,
+        },
+      ],
       &quot;layerDetails&quot;: { # Details about the layer a package was found in.
         &quot;baseImages&quot;: [ # The base images the layer is found within.
           { # BaseImage describes a base image of a container image.
diff --git a/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html b/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html
index 8205b69..3cbda42 100644
--- a/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html
+++ b/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html
@@ -882,6 +882,7 @@
           &quot;availabilityImpact&quot;: &quot;A String&quot;, # Availability Impact (A). Defined in CVSS v2, v3.
           &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
           &quot;confidentialityImpact&quot;: &quot;A String&quot;, # Confidentiality Impact (C). Defined in CVSS v2, v3.
+          &quot;exploitMaturity&quot;: &quot;A String&quot;, # Exploit Maturity (E). Defined in CVSS v4.
           &quot;exploitabilityScore&quot;: 3.14,
           &quot;impactScore&quot;: 3.14,
           &quot;integrityImpact&quot;: &quot;A String&quot;, # Integrity Impact (I). Defined in CVSS v2, v3.
@@ -903,6 +904,7 @@
           &quot;availabilityImpact&quot;: &quot;A String&quot;, # Availability Impact (A). Defined in CVSS v2, v3.
           &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
           &quot;confidentialityImpact&quot;: &quot;A String&quot;, # Confidentiality Impact (C). Defined in CVSS v2, v3.
+          &quot;exploitMaturity&quot;: &quot;A String&quot;, # Exploit Maturity (E). Defined in CVSS v4.
           &quot;exploitabilityScore&quot;: 3.14,
           &quot;impactScore&quot;: 3.14,
           &quot;integrityImpact&quot;: &quot;A String&quot;, # Integrity Impact (I). Defined in CVSS v2, v3.
@@ -925,6 +927,7 @@
           &quot;availabilityImpact&quot;: &quot;A String&quot;, # Availability Impact (A). Defined in CVSS v2, v3.
           &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
           &quot;confidentialityImpact&quot;: &quot;A String&quot;, # Confidentiality Impact (C). Defined in CVSS v2, v3.
+          &quot;exploitMaturity&quot;: &quot;A String&quot;, # Exploit Maturity (E). Defined in CVSS v4.
           &quot;exploitabilityScore&quot;: 3.14,
           &quot;impactScore&quot;: 3.14,
           &quot;integrityImpact&quot;: &quot;A String&quot;, # Integrity Impact (I). Defined in CVSS v2, v3.
diff --git a/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.html b/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.html
index 63fd15d..de9ad41 100644
--- a/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.html
+++ b/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.html
@@ -152,6 +152,13 @@
         },
       ],
       &quot;hashDigest&quot;: &quot;A String&quot;, # HashDigest stores the SHA512 hash digest of the jar file if the package is of type Maven. This field will be unset for non Maven packages.
+      &quot;ingestionSources&quot;: [ # The list of sources that were scanned to find this package. This can be a Docker image, an SBOM attachment, or both, for example.
+        { # Indicates where an extracted package originates from.
+          &quot;attachmentUri&quot;: &quot;A String&quot;, # The attachment URI that this package was extracted from.
+          &quot;resourceUrl&quot;: &quot;A String&quot;, # The resource URL of the resource that was scanned to find this package.
+          &quot;source&quot;: &quot;A String&quot;,
+        },
+      ],
       &quot;layerDetails&quot;: { # Details about the layer a package was found in.
         &quot;baseImages&quot;: [ # The base images the layer is found within.
           { # BaseImage describes a base image of a container image.
diff --git a/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html b/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html
index f63d9b2..5c8c232 100644
--- a/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html
+++ b/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html
@@ -882,6 +882,7 @@
           &quot;availabilityImpact&quot;: &quot;A String&quot;, # Availability Impact (A). Defined in CVSS v2, v3.
           &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
           &quot;confidentialityImpact&quot;: &quot;A String&quot;, # Confidentiality Impact (C). Defined in CVSS v2, v3.
+          &quot;exploitMaturity&quot;: &quot;A String&quot;, # Exploit Maturity (E). Defined in CVSS v4.
           &quot;exploitabilityScore&quot;: 3.14,
           &quot;impactScore&quot;: 3.14,
           &quot;integrityImpact&quot;: &quot;A String&quot;, # Integrity Impact (I). Defined in CVSS v2, v3.
@@ -903,6 +904,7 @@
           &quot;availabilityImpact&quot;: &quot;A String&quot;, # Availability Impact (A). Defined in CVSS v2, v3.
           &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
           &quot;confidentialityImpact&quot;: &quot;A String&quot;, # Confidentiality Impact (C). Defined in CVSS v2, v3.
+          &quot;exploitMaturity&quot;: &quot;A String&quot;, # Exploit Maturity (E). Defined in CVSS v4.
           &quot;exploitabilityScore&quot;: 3.14,
           &quot;impactScore&quot;: 3.14,
           &quot;integrityImpact&quot;: &quot;A String&quot;, # Integrity Impact (I). Defined in CVSS v2, v3.
@@ -925,6 +927,7 @@
           &quot;availabilityImpact&quot;: &quot;A String&quot;, # Availability Impact (A). Defined in CVSS v2, v3.
           &quot;baseScore&quot;: 3.14, # The base score is a function of the base metric scores.
           &quot;confidentialityImpact&quot;: &quot;A String&quot;, # Confidentiality Impact (C). Defined in CVSS v2, v3.
+          &quot;exploitMaturity&quot;: &quot;A String&quot;, # Exploit Maturity (E). Defined in CVSS v4.
           &quot;exploitabilityScore&quot;: 3.14,
           &quot;impactScore&quot;: 3.14,
           &quot;integrityImpact&quot;: &quot;A String&quot;, # Integrity Impact (I). Defined in CVSS v2, v3.
diff --git a/docs/dyn/pagespeedonline_v5.pagespeedapi.html b/docs/dyn/pagespeedonline_v5.pagespeedapi.html
index f3b4f92..0567242 100644
--- a/docs/dyn/pagespeedonline_v5.pagespeedapi.html
+++ b/docs/dyn/pagespeedonline_v5.pagespeedapi.html
@@ -101,6 +101,7 @@
       PERFORMANCE - Performance, category pertaining to a website&#x27;s performance.
       PWA - Progressive Web App (PWA), category pertaining to a website&#x27;s ability to be run as a PWA. This is deprecated in Lighthouse&#x27;s 12.0 release.
       SEO - Search Engine Optimization (SEO), category pertaining to a website&#x27;s ability to be indexed by search engines.
+      AGENTIC_BROWSING - Agentic Browsing, category pertaining to a website&#x27;s ability to be rendered by an agentic browsing system.
   locale: string, The locale used to localize formatted results
   strategy: string, The analysis strategy (desktop or mobile) to use, and desktop is the default
     Allowed values
diff --git a/docs/dyn/policytroubleshooter_v3beta.iam.html b/docs/dyn/policytroubleshooter_v3beta.iam.html
index 4c802fd..34eba57 100644
--- a/docs/dyn/policytroubleshooter_v3beta.iam.html
+++ b/docs/dyn/policytroubleshooter_v3beta.iam.html
@@ -80,6 +80,9 @@
 <p class="toc_element">
   <code><a href="#troubleshoot">troubleshoot(body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Checks whether a principal has a specific permission for a specific resource, and explains why the principal does or doesn't have that permission.</p>
+<p class="toc_element">
+  <code><a href="#troubleshootError">troubleshootError(body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Checks the access request associated with the error identifier and explains why the access is denied by IAM policies.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -534,4 +537,399 @@
 }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="troubleshootError">troubleshootError(body=None, x__xgafv=None)</code>
+  <pre>Checks the access request associated with the error identifier and explains why the access is denied by IAM policies.
+
+Args:
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request to troubleshoot access denial with the IAM error identifier.
+  &quot;errorInfoId&quot;: &quot;A String&quot;, # This identifier is returned in the `ErrorInfo.metadata` with key &#x27;error_info_id&#x27; when an access requests is denied by the IAM service.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response for troubleshoot access denial with the IAM error identifier.
+  &quot;accessContext&quot;: { # Information about the principal, resource, and permission for the ErrorInfoId. # The access context associated with the ErrorInfoId.
+    &quot;name&quot;: &quot;A String&quot;, # The relative resource name, not including the / prefix. For example, `projects/project-id`, `projects/-/serviceAccounts/11112222`
+    &quot;parent&quot;: &quot;A String&quot;, # The full resource name of the parent where IAM policy is configured. For example, `//cloudresourcemanager.googleapis.com/folders/444446666`
+    &quot;permission&quot;: &quot;A String&quot;, # Required. The IAM permission name provided by the user in the access denied request.
+    &quot;principal&quot;: &quot;A String&quot;, # The email address of the principal who requested access. For example, `alice@example.com` or `my-service-account@my-project.iam.gserviceaccount.com`. The principal must be a Google Account or a service account. Other types of principals are not supported.
+  },
+  &quot;allowPolicyExplanation&quot;: { # Details about how the relevant IAM allow policies affect the final access state. # An explanation of how the applicable IAM allow policies affect the final access state.
+    &quot;allowAccessState&quot;: &quot;A String&quot;, # Indicates whether the principal has the specified permission for the specified resource, based on evaluating all applicable IAM allow policies.
+    &quot;explainedPolicies&quot;: [ # List of IAM allow policies that were evaluated to check the principal&#x27;s permissions, with annotations to indicate how each policy contributed to the final result. The list of policies includes the policy for the resource itself, as well as allow policies that are inherited from higher levels of the resource hierarchy, including the organization, the folder, and the project. To learn more about the resource hierarchy, see https://cloud.google.com/iam/help/resource-hierarchy.
+      { # Details about how a specific IAM allow policy contributed to the final access state.
+        &quot;allowAccessState&quot;: &quot;A String&quot;, # Required. Indicates whether _this policy_ provides the specified permission to the specified principal for the specified resource. This field does _not_ indicate whether the principal actually has the permission for the resource. There might be another policy that overrides this policy. To determine whether the principal actually has the permission, use the `overall_access_state` field in the TroubleshootIamPolicyResponse.
+        &quot;bindingExplanations&quot;: [ # Details about how each role binding in the policy affects the principal&#x27;s ability, or inability, to use the permission for the resource. The order of the role bindings matches the role binding order in the policy. If the sender of the request does not have access to the policy, this field is omitted.
+          { # Details about how a role binding in an allow policy affects a principal&#x27;s ability to use a permission.
+            &quot;allowAccessState&quot;: &quot;A String&quot;, # Required. Indicates whether _this role binding_ gives the specified permission to the specified principal on the specified resource. This field does _not_ indicate whether the principal actually has the permission on the resource. There might be another role binding that overrides this role binding. To determine whether the principal actually has the permission, use the `overall_access_state` field in the TroubleshootIamPolicyResponse.
+            &quot;combinedMembership&quot;: { # Details about whether the role binding includes the principal. # The combined result of all memberships. Indicates if the principal is included in any role binding, either directly or indirectly.
+              &quot;membership&quot;: &quot;A String&quot;, # Indicates whether the role binding includes the principal.
+              &quot;relevance&quot;: &quot;A String&quot;, # The relevance of the principal&#x27;s status to the overall determination for the role binding.
+            },
+            &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. # A condition expression that specifies when the role binding grants access. To learn about IAM Conditions, see https://cloud.google.com/iam/help/conditions/overview.
+              &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;conditionExplanation&quot;: { # Explanation for how a condition affects a principal&#x27;s access # Condition evaluation state for this role binding.
+              &quot;errors&quot;: [ # Any errors that prevented complete evaluation of the condition expression.
+                { # 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).
+                  &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+                  &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+                    {
+                      &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+                    },
+                  ],
+                  &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+                },
+              ],
+              &quot;evaluationStates&quot;: [ # The value of each statement of the condition expression. The value can be `true`, `false`, or `null`. The value is `null` if the statement can&#x27;t be evaluated.
+                { # Evaluated state of a condition expression.
+                  &quot;end&quot;: 42, # End position of an expression in the condition, by character, end included, for example: the end position of the first part of `a==b || c==d` would be 4.
+                  &quot;errors&quot;: [ # Any errors that prevented complete evaluation of the condition expression.
+                    { # 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).
+                      &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+                      &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+                        {
+                          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+                        },
+                      ],
+                      &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+                    },
+                  ],
+                  &quot;start&quot;: 42, # Start position of an expression in the condition, by character.
+                  &quot;value&quot;: &quot;&quot;, # Value of this expression.
+                },
+              ],
+              &quot;value&quot;: &quot;&quot;, # Value of the condition.
+            },
+            &quot;memberships&quot;: { # Indicates whether each role binding includes the principal specified in the request, either directly or indirectly. Each key identifies a principal in the role binding, and each value indicates whether the principal in the role binding includes the principal in the request. For example, suppose that a role binding includes the following principals: * `user:alice@example.com` * `group:product-eng@example.com` You want to troubleshoot access for `user:bob@example.com`. This user is a member of the group `group:product-eng@example.com`. For the first principal in the role binding, the key is `user:alice@example.com`, and the `membership` field in the value is set to `NOT_INCLUDED`. For the second principal in the role binding, the key is `group:product-eng@example.com`, and the `membership` field in the value is set to `INCLUDED`.
+              &quot;a_key&quot;: { # Details about whether the role binding includes the principal.
+                &quot;membership&quot;: &quot;A String&quot;, # Indicates whether the role binding includes the principal.
+                &quot;relevance&quot;: &quot;A String&quot;, # The relevance of the principal&#x27;s status to the overall determination for the role binding.
+              },
+            },
+            &quot;relevance&quot;: &quot;A String&quot;, # The relevance of this role binding to the overall determination for the entire policy.
+            &quot;role&quot;: &quot;A String&quot;, # The role that this role binding grants. For example, `roles/compute.admin`. For a complete list of predefined IAM roles, as well as the permissions in each role, see https://cloud.google.com/iam/help/roles/reference.
+            &quot;rolePermission&quot;: &quot;A String&quot;, # Indicates whether the role granted by this role binding contains the specified permission.
+            &quot;rolePermissionRelevance&quot;: &quot;A String&quot;, # The relevance of the permission&#x27;s existence, or nonexistence, in the role to the overall determination for the entire policy.
+          },
+        ],
+        &quot;fullResourceName&quot;: &quot;A String&quot;, # The full resource name that identifies the resource. For example, `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. If the sender of the request does not have access to the policy, this field is omitted. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
+        &quot;policy&quot;: { # An Identity and Access Management (IAM) policy, which specifies access controls for Google Cloud resources. A `Policy` is a collection of `bindings`. A `binding` binds one or more `members`, or principals, to a single `role`. Principals can be user accounts, service accounts, Google groups, and domains (such as G Suite). A `role` is a named list of permissions; each `role` can be an IAM predefined role or a user-created custom role. For some types of Google Cloud resources, a `binding` can also specify a `condition`, which is a logical expression that allows access to a resource only if the expression evaluates to `true`. A condition can add constraints based on attributes of the request, the resource, or both. To learn which resources support conditions in their IAM policies, see the [IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies). **JSON example:** ``` { &quot;bindings&quot;: [ { &quot;role&quot;: &quot;roles/resourcemanager.organizationAdmin&quot;, &quot;members&quot;: [ &quot;user:mike@example.com&quot;, &quot;group:admins@example.com&quot;, &quot;domain:google.com&quot;, &quot;serviceAccount:my-project-id@appspot.gserviceaccount.com&quot; ] }, { &quot;role&quot;: &quot;roles/resourcemanager.organizationViewer&quot;, &quot;members&quot;: [ &quot;user:eve@example.com&quot; ], &quot;condition&quot;: { &quot;title&quot;: &quot;expirable access&quot;, &quot;description&quot;: &quot;Does not grant access after Sep 2020&quot;, &quot;expression&quot;: &quot;request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;)&quot;, } } ], &quot;etag&quot;: &quot;BwWWja0YfJA=&quot;, &quot;version&quot;: 3 } ``` **YAML example:** ``` bindings: - members: - user:mike@example.com - group:admins@example.com - domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.com role: roles/resourcemanager.organizationViewer condition: title: expirable access description: Does not grant access after Sep 2020 expression: request.time &lt; timestamp(&#x27;2020-10-01T00:00:00.000Z&#x27;) etag: BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the [IAM documentation](https://cloud.google.com/iam/docs/). # The IAM allow policy attached to the resource. If the sender of the request does not have access to the policy, this field is empty.
+          &quot;auditConfigs&quot;: [ # Specifies cloud audit logging configuration for this policy.
+            { # Specifies the audit configuration for a service. The configuration determines which permission types are logged, and what identities, if any, are exempted from logging. An AuditConfig must have one or more AuditLogConfigs. If there are AuditConfigs for both `allServices` and a specific service, the union of the two AuditConfigs is used for that service: the log_types specified in each AuditConfig are enabled, and the exempted_members in each AuditLogConfig are exempted. Example Policy with multiple AuditConfigs: { &quot;audit_configs&quot;: [ { &quot;service&quot;: &quot;allServices&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot;, &quot;exempted_members&quot;: [ &quot;user:jose@example.com&quot; ] }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot; }, { &quot;log_type&quot;: &quot;ADMIN_READ&quot; } ] }, { &quot;service&quot;: &quot;sampleservice.googleapis.com&quot;, &quot;audit_log_configs&quot;: [ { &quot;log_type&quot;: &quot;DATA_READ&quot; }, { &quot;log_type&quot;: &quot;DATA_WRITE&quot;, &quot;exempted_members&quot;: [ &quot;user:aliya@example.com&quot; ] } ] } ] } For sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ logging. It also exempts `jose@example.com` from DATA_READ logging, and `aliya@example.com` from DATA_WRITE logging.
+              &quot;auditLogConfigs&quot;: [ # The configuration for logging of each type of permission.
+                { # 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`, or principals, with 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 principal. The `bindings` in a `Policy` can refer to up to 1,500 principals; up to 250 of these principals can be Google groups. Each occurrence of a principal counts towards these limits. For example, if the `bindings` grant 50 different roles to `user:alice@example.com`, and not to any other principal, then you can add another 1,450 principals to the `bindings` in the `Policy`.
+            { # Associates `members`, or principals, 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 principals 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 principals requesting access for a Google Cloud 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. Does not include identities that come from external identity providers (IdPs) through identity federation. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@example.com` . * `serviceAccount:{emailid}`: An email address that represents a Google service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `serviceAccount:{projectid}.svc.id.goog[{namespace}/{kubernetes-sa}]`: An identifier for a [Kubernetes service account](https://cloud.google.com/kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: The G Suite domain (primary) that represents all the users of that domain. For example, `google.com` or `example.com`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `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. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
+                &quot;A String&quot;,
+              ],
+              &quot;role&quot;: &quot;A String&quot;, # Role that is assigned to the list of `members`, or principals. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM roles and permissions, see the [IAM documentation](https://cloud.google.com/iam/docs/roles-overview). For a list of the available pre-defined roles, see [here](https://cloud.google.com/iam/docs/understanding-roles).
+            },
+          ],
+          &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;relevance&quot;: &quot;A String&quot;, # The relevance of this policy to the overall access state in the TroubleshootIamPolicyResponse. If the sender of the request does not have access to the policy, this field is omitted.
+      },
+    ],
+    &quot;relevance&quot;: &quot;A String&quot;, # The relevance of the allow policy type to the overall access state.
+  },
+  &quot;denyPolicyExplanation&quot;: { # Details about how the relevant IAM deny policies affect the final access state. # An explanation of how the applicable IAM deny policies affect the final access state.
+    &quot;denyAccessState&quot;: &quot;A String&quot;, # Indicates whether the principal is denied the specified permission for the specified resource, based on evaluating all applicable IAM deny policies.
+    &quot;explainedResources&quot;: [ # List of resources with IAM deny policies that were evaluated to check the principal&#x27;s denied permissions, with annotations to indicate how each policy contributed to the final result. The list of resources includes the policy for the resource itself, as well as policies that are inherited from higher levels of the resource hierarchy, including the organization, the folder, and the project. The order of the resources starts from the resource and climbs up the resource hierarchy. To learn more about the resource hierarchy, see https://cloud.google.com/iam/help/resource-hierarchy.
+      { # Details about how a specific resource contributed to the deny policy evaluation.
+        &quot;denyAccessState&quot;: &quot;A String&quot;, # Required. Indicates whether any policies attached to _this resource_ deny the specific permission to the specified principal for the specified resource. This field does _not_ indicate whether the principal actually has the permission for the resource. There might be another policy that overrides this policy. To determine whether the principal actually has the permission, use the `overall_access_state` field in the TroubleshootIamPolicyResponse.
+        &quot;explainedPolicies&quot;: [ # List of IAM deny policies that were evaluated to check the principal&#x27;s denied permissions, with annotations to indicate how each policy contributed to the final result.
+          { # Details about how a specific IAM deny policy Policy contributed to the access check.
+            &quot;denyAccessState&quot;: &quot;A String&quot;, # Required. Indicates whether _this policy_ denies the specified permission to the specified principal for the specified resource. This field does _not_ indicate whether the principal actually has the permission for the resource. There might be another policy that overrides this policy. To determine whether the principal actually has the permission, use the `overall_access_state` field in the TroubleshootIamPolicyResponse.
+            &quot;policy&quot;: { # Data for an IAM policy. # The IAM deny policy attached to the resource. If the sender of the request does not have access to the policy, this field is omitted.
+              &quot;annotations&quot;: { # A key-value map to store arbitrary metadata for the `Policy`. Keys can be up to 63 characters. Values can be up to 255 characters.
+                &quot;a_key&quot;: &quot;A String&quot;,
+              },
+              &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the `Policy` was created.
+              &quot;deleteTime&quot;: &quot;A String&quot;, # Output only. The time when the `Policy` was deleted. Empty if the policy is not deleted.
+              &quot;displayName&quot;: &quot;A String&quot;, # A user-specified description of the `Policy`. This value can be up to 63 characters.
+              &quot;etag&quot;: &quot;A String&quot;, # An opaque tag that identifies the current version of the `Policy`. IAM uses this value to help manage concurrent updates, so they do not cause one update to be overwritten by another. If this field is present in a CreatePolicyRequest, the value is ignored.
+              &quot;kind&quot;: &quot;A String&quot;, # Output only. The kind of the `Policy`. Always contains the value `DenyPolicy`.
+              &quot;name&quot;: &quot;A String&quot;, # Immutable. The resource name of the `Policy`, which must be unique. Format: `policies/{attachment_point}/denypolicies/{policy_id}` The attachment point is identified by its URL-encoded full resource name, which means that the forward-slash character, `/`, must be written as `%2F`. For example, `policies/cloudresourcemanager.googleapis.com%2Fprojects%2Fmy-project/denypolicies/my-deny-policy`. For organizations and folders, use the numeric ID in the full resource name. For projects, requests can use the alphanumeric or the numeric ID. Responses always contain the numeric ID.
+              &quot;rules&quot;: [ # A list of rules that specify the behavior of the `Policy`. All of the rules should be of the `kind` specified in the `Policy`.
+                { # A single rule in a `Policy`.
+                  &quot;denyRule&quot;: { # A deny rule in an IAM deny policy. # A rule for a deny policy.
+                    &quot;denialCondition&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 determines whether this deny rule applies to a request. If the condition expression evaluates to `true`, then the deny rule is applied; otherwise, the deny rule is not applied. Each deny rule is evaluated independently. If this deny rule does not apply to a request, other deny rules might still apply. The condition can use CEL functions that evaluate [resource tags](https://cloud.google.com/iam/help/conditions/resource-tags). Other functions and operators are not supported.
+                      &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;deniedPermissions&quot;: [ # The permissions that are explicitly denied by this rule. Each permission uses the format `{service_fqdn}/{resource}.{verb}`, where `{service_fqdn}` is the fully qualified domain name for the service. For example, `iam.googleapis.com/roles.list`.
+                      &quot;A String&quot;,
+                    ],
+                    &quot;deniedPrincipals&quot;: [ #  The identities that are prevented from using one or more permissions on Google Cloud resources. This field can contain the following values: * `principal://goog/subject/{email_id}`: A specific Google Account. Includes Gmail, Cloud Identity, and Google Workspace user accounts. For example, `principal://goog/subject/alice@example.com`. * `principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}`: A Google Cloud service account. For example, `principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com`. * `principalSet://goog/group/{group_id}`: A Google group. For example, `principalSet://goog/group/admins@example.com`. * `principalSet://goog/public:all`: A special identifier that represents any principal that is on the internet, even if they do not have a Google Account or are not logged in. * `principalSet://goog/cloudIdentityCustomerId/{customer_id}`: All of the principals associated with the specified Google Workspace or Cloud Identity customer ID. For example, `principalSet://goog/cloudIdentityCustomerId/C01Abc35`. * `principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workforce identity pool. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/group/{group_id}`: All workforce identities in a group. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All workforce identities with a specific attribute value. * `principalSet://iam.googleapis.com/locations/global/workforcePools/{pool_id}/*`: All identities in a workforce identity pool. * `principal://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/subject/{subject_attribute_value}`: A single identity in a workload identity pool. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/group/{group_id}`: A workload identity pool group. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/attribute.{attribute_name}/{attribute_value}`: All identities in a workload identity pool with a certain attribute. * `principalSet://iam.googleapis.com/projects/{project_number}/locations/global/workloadIdentityPools/{pool_id}/*`: All identities in a workload identity pool. * `principalSet://cloudresourcemanager.googleapis.com/[projects|folders|organizations]/{project_number|folder_number|org_number}/type/ServiceAccount`: All service accounts grouped under a resource (project, folder, or organization). * `principalSet://cloudresourcemanager.googleapis.com/[projects|folders|organizations]/{project_number|folder_number|org_number}/type/ServiceAgent`: All service agents grouped under a resource (project, folder, or organization). * `deleted:principal://goog/subject/{email_id}?uid={uid}`: A specific Google Account that was deleted recently. For example, `deleted:principal://goog/subject/alice@example.com?uid=1234567890`. If the Google Account is recovered, this identifier reverts to the standard identifier for a Google Account. * `deleted:principalSet://goog/group/{group_id}?uid={uid}`: A Google group that was deleted recently. For example, `deleted:principalSet://goog/group/admins@example.com?uid=1234567890`. If the Google group is restored, this identifier reverts to the standard identifier for a Google group. * `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/{service_account_id}?uid={uid}`: A Google Cloud service account that was deleted recently. For example, `deleted:principal://iam.googleapis.com/projects/-/serviceAccounts/my-service-account@iam.gserviceaccount.com?uid=1234567890`. If the service account is undeleted, this identifier reverts to the standard identifier for a service account. * `deleted:principal://iam.googleapis.com/locations/global/workforcePools/{pool_id}/subject/{subject_attribute_value}`: Deleted single identity in a workforce identity pool. For example, `deleted:principal://iam.googleapis.com/locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
+                      &quot;A String&quot;,
+                    ],
+                    &quot;exceptionPermissions&quot;: [ # Specifies the permissions that this rule excludes from the set of denied permissions given by `denied_permissions`. If a permission appears in `denied_permissions` _and_ in `exception_permissions` then it will _not_ be denied. The excluded permissions can be specified using the same syntax as `denied_permissions`.
+                      &quot;A String&quot;,
+                    ],
+                    &quot;exceptionPrincipals&quot;: [ # The identities that are excluded from the deny rule, even if they are listed in the `denied_principals`. For example, you could add a Google group to the `denied_principals`, then exclude specific users who belong to that group. This field can contain the same values as the `denied_principals` field, excluding `principalSet://goog/public:all`, which represents all users on the internet.
+                      &quot;A String&quot;,
+                    ],
+                  },
+                  &quot;description&quot;: &quot;A String&quot;, # A user-specified description of the rule. This value can be up to 256 characters.
+                },
+              ],
+              &quot;uid&quot;: &quot;A String&quot;, # Immutable. The globally unique ID of the `Policy`. Assigned automatically when the `Policy` is created.
+              &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the `Policy` was last updated.
+            },
+            &quot;relevance&quot;: &quot;A String&quot;, # The relevance of this policy to the overall access state in the TroubleshootIamPolicyResponse. If the sender of the request does not have access to the policy, this field is omitted.
+            &quot;ruleExplanations&quot;: [ # Details about how each rule in the policy affects the principal&#x27;s inability to use the permission for the resource. The order of the deny rule matches the order of the rules in the deny policy. If the sender of the request does not have access to the policy, this field is omitted.
+              { # Details about how a deny rule in a deny policy affects a principal&#x27;s ability to use a permission.
+                &quot;combinedDeniedPermission&quot;: { # Details about whether the permission in the request is denied by the deny rule. # Indicates whether the permission in the request is listed as a denied permission in the deny rule.
+                  &quot;permissionMatchingState&quot;: &quot;A String&quot;, # Indicates whether the permission in the request is denied by the deny rule.
+                  &quot;relevance&quot;: &quot;A String&quot;, # The relevance of the permission status to the overall determination for the rule.
+                },
+                &quot;combinedDeniedPrincipal&quot;: { # Details about whether the principal in the request is listed as a denied principal in the deny rule, either directly or through membership in a principal set. # Indicates whether the principal is listed as a denied principal in the deny rule, either directly or through membership in a principal set.
+                  &quot;membership&quot;: &quot;A String&quot;, # Indicates whether the principal is listed as a denied principal in the deny rule, either directly or through membership in a principal set.
+                  &quot;relevance&quot;: &quot;A String&quot;, # The relevance of the principal&#x27;s status to the overall determination for the role binding.
+                },
+                &quot;combinedExceptionPermission&quot;: { # Details about whether the permission in the request is denied by the deny rule. # Indicates whether the permission in the request is listed as an exception permission in the deny rule.
+                  &quot;permissionMatchingState&quot;: &quot;A String&quot;, # Indicates whether the permission in the request is denied by the deny rule.
+                  &quot;relevance&quot;: &quot;A String&quot;, # The relevance of the permission status to the overall determination for the rule.
+                },
+                &quot;combinedExceptionPrincipal&quot;: { # Details about whether the principal in the request is listed as a denied principal in the deny rule, either directly or through membership in a principal set. # Indicates whether the principal is listed as an exception principal in the deny rule, either directly or through membership in a principal set.
+                  &quot;membership&quot;: &quot;A String&quot;, # Indicates whether the principal is listed as a denied principal in the deny rule, either directly or through membership in a principal set.
+                  &quot;relevance&quot;: &quot;A String&quot;, # The relevance of the principal&#x27;s status to the overall determination for the role binding.
+                },
+                &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. # A condition expression that specifies when the deny rule denies the principal access. To learn about IAM Conditions, see https://cloud.google.com/iam/help/conditions/overview.
+                  &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;conditionExplanation&quot;: { # Explanation for how a condition affects a principal&#x27;s access # Condition evaluation state for this role binding.
+                  &quot;errors&quot;: [ # Any errors that prevented complete evaluation of the condition expression.
+                    { # 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).
+                      &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+                      &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+                        {
+                          &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+                        },
+                      ],
+                      &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+                    },
+                  ],
+                  &quot;evaluationStates&quot;: [ # The value of each statement of the condition expression. The value can be `true`, `false`, or `null`. The value is `null` if the statement can&#x27;t be evaluated.
+                    { # Evaluated state of a condition expression.
+                      &quot;end&quot;: 42, # End position of an expression in the condition, by character, end included, for example: the end position of the first part of `a==b || c==d` would be 4.
+                      &quot;errors&quot;: [ # Any errors that prevented complete evaluation of the condition expression.
+                        { # 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).
+                          &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+                          &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+                            {
+                              &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+                            },
+                          ],
+                          &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+                        },
+                      ],
+                      &quot;start&quot;: 42, # Start position of an expression in the condition, by character.
+                      &quot;value&quot;: &quot;&quot;, # Value of this expression.
+                    },
+                  ],
+                  &quot;value&quot;: &quot;&quot;, # Value of the condition.
+                },
+                &quot;deniedPermissions&quot;: { # Lists all denied permissions in the deny rule and indicates whether each permission matches the permission in the request. Each key identifies a denied permission in the rule, and each value indicates whether the denied permission matches the permission in the request.
+                  &quot;a_key&quot;: { # Details about whether the permission in the request is denied by the deny rule.
+                    &quot;permissionMatchingState&quot;: &quot;A String&quot;, # Indicates whether the permission in the request is denied by the deny rule.
+                    &quot;relevance&quot;: &quot;A String&quot;, # The relevance of the permission status to the overall determination for the rule.
+                  },
+                },
+                &quot;deniedPrincipals&quot;: { # Lists all denied principals in the deny rule and indicates whether each principal matches the principal in the request, either directly or through membership in a principal set. Each key identifies a denied principal in the rule, and each value indicates whether the denied principal matches the principal in the request.
+                  &quot;a_key&quot;: { # Details about whether the principal in the request is listed as a denied principal in the deny rule, either directly or through membership in a principal set.
+                    &quot;membership&quot;: &quot;A String&quot;, # Indicates whether the principal is listed as a denied principal in the deny rule, either directly or through membership in a principal set.
+                    &quot;relevance&quot;: &quot;A String&quot;, # The relevance of the principal&#x27;s status to the overall determination for the role binding.
+                  },
+                },
+                &quot;denyAccessState&quot;: &quot;A String&quot;, # Required. Indicates whether _this rule_ denies the specified permission to the specified principal for the specified resource. This field does _not_ indicate whether the principal is actually denied on the permission for the resource. There might be another rule that overrides this rule. To determine whether the principal actually has the permission, use the `overall_access_state` field in the TroubleshootIamPolicyResponse.
+                &quot;exceptionPermissions&quot;: { # Lists all exception permissions in the deny rule and indicates whether each permission matches the permission in the request. Each key identifies a exception permission in the rule, and each value indicates whether the exception permission matches the permission in the request.
+                  &quot;a_key&quot;: { # Details about whether the permission in the request is denied by the deny rule.
+                    &quot;permissionMatchingState&quot;: &quot;A String&quot;, # Indicates whether the permission in the request is denied by the deny rule.
+                    &quot;relevance&quot;: &quot;A String&quot;, # The relevance of the permission status to the overall determination for the rule.
+                  },
+                },
+                &quot;exceptionPrincipals&quot;: { # Lists all exception principals in the deny rule and indicates whether each principal matches the principal in the request, either directly or through membership in a principal set. Each key identifies a exception principal in the rule, and each value indicates whether the exception principal matches the principal in the request.
+                  &quot;a_key&quot;: { # Details about whether the principal in the request is listed as a denied principal in the deny rule, either directly or through membership in a principal set.
+                    &quot;membership&quot;: &quot;A String&quot;, # Indicates whether the principal is listed as a denied principal in the deny rule, either directly or through membership in a principal set.
+                    &quot;relevance&quot;: &quot;A String&quot;, # The relevance of the principal&#x27;s status to the overall determination for the role binding.
+                  },
+                },
+                &quot;relevance&quot;: &quot;A String&quot;, # The relevance of this role binding to the overall determination for the entire policy.
+              },
+            ],
+          },
+        ],
+        &quot;fullResourceName&quot;: &quot;A String&quot;, # The full resource name that identifies the resource. For example, `//compute.googleapis.com/projects/my-project/zones/us-central1-a/instances/my-instance`. If the sender of the request does not have access to the policy, this field is omitted. For examples of full resource names for Google Cloud services, see https://cloud.google.com/iam/help/troubleshooter/full-resource-names.
+        &quot;relevance&quot;: &quot;A String&quot;, # The relevance of this policy to the overall access state in the TroubleshootIamPolicyResponse. If the sender of the request does not have access to the policy, this field is omitted.
+      },
+    ],
+    &quot;permissionDeniable&quot;: True or False, # Indicates whether the permission to troubleshoot is supported in deny policies.
+    &quot;relevance&quot;: &quot;A String&quot;, # The relevance of the deny policy result to the overall access state.
+  },
+  &quot;overallAccessState&quot;: &quot;A String&quot;, # Indicates whether the principal has the permission to access the resource, based on evaluating all types of the applicable IAM policies.
+  &quot;pabPolicyExplanation&quot;: { # Details about how the relevant principal access boundary policies affect the overall access state. # An explanation of how the applicable principal access boundary policies affect the final access state.
+    &quot;explainedBindingsAndPolicies&quot;: [ # List of principal access boundary policies and bindings that are applicable to the principal&#x27;s access state, with annotations to indicate how each binding and policy contributes to the overall access state.
+      { # Details about how a principal access boundary binding and policy contributes to the principal access boundary explanation, with annotations to indicate how the binding and policy contribute to the overall access state.
+        &quot;bindingAndPolicyAccessState&quot;: &quot;A String&quot;, # Output only. Indicates whether the principal is allowed to access the specified resource based on evaluating the binding and policy.
+        &quot;explainedPolicy&quot;: { # Details about how a principal access boundary policy contributes to the explanation, with annotations to indicate how the policy contributes to the overall access state. # Optional. Details about how this policy contributes to the principal access boundary explanation, with annotations to indicate how the policy contributes to the overall access state. If the caller doesn&#x27;t have permission to view the policy in the binding, this field is omitted.
+          &quot;explainedRules&quot;: [ # List of principal access boundary rules that were explained to check the principal&#x27;s access to specified resource, with annotations to indicate how each rule contributes to the overall access state.
+            { # Details about how a principal access boundary rule contributes to the explanation, with annotations to indicate how the rule contributes to the overall access state.
+              &quot;combinedResourceInclusionState&quot;: &quot;A String&quot;, # Output only. Indicates whether any resource of the rule is the specified resource or includes the specified resource.
+              &quot;combinedResourceRelevance&quot;: &quot;A String&quot;, # The relevance of the combined resource inclusion state to the overall access state.
+              &quot;effect&quot;: &quot;A String&quot;, # Required. The effect of the rule which describes the access relationship.
+              &quot;explainedResources&quot;: [ # List of resources that were explained to check the principal&#x27;s access to specified resource, with annotations to indicate how each resource contributes to the overall access state.
+                { # Details about how a resource contributes to the explanation, with annotations to indicate how the resource contributes to the overall access state.
+                  &quot;relevance&quot;: &quot;A String&quot;, # The relevance of this resource to the overall access state.
+                  &quot;resource&quot;: &quot;A String&quot;, # The [full resource name](https://cloud.google.com/iam/docs/full-resource-names) that identifies the resource that is explained. This can only be a project, a folder, or an organization which is what a PAB rule accepts.
+                  &quot;resourceInclusionState&quot;: &quot;A String&quot;, # Output only. Indicates whether the resource is the specified resource or includes the specified resource.
+                },
+              ],
+              &quot;relevance&quot;: &quot;A String&quot;, # The relevance of this rule to the overall access state.
+              &quot;ruleAccessState&quot;: &quot;A String&quot;, # Output only. Indicates whether the rule allows access to the specified resource.
+            },
+          ],
+          &quot;policy&quot;: { # An IAM principal access boundary policy resource. # The policy that is explained.
+            &quot;annotations&quot;: { # Optional. User defined annotations. See https://google.aip.dev/148#annotations for more details such as format and size limitations
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time when the principal access boundary policy was created.
+            &quot;details&quot;: { # Principal access boundary policy details # Optional. The details for the principal access boundary policy.
+              &quot;enforcementVersion&quot;: &quot;A String&quot;, # Optional. The version number (for example, `1` or `latest`) that indicates which permissions are able to be blocked by the policy. If empty, the PAB policy version will be set to the most recent version number at the time of the policy&#x27;s creation.
+              &quot;rules&quot;: [ # Required. A list of principal access boundary policy rules. The number of rules in a policy is limited to 500.
+                { # Principal access boundary policy rule that defines the resource boundary.
+                  &quot;description&quot;: &quot;A String&quot;, # Optional. The description of the principal access boundary policy rule. Must be less than or equal to 256 characters.
+                  &quot;effect&quot;: &quot;A String&quot;, # Required. The access relationship of principals to the resources in this rule.
+                  &quot;operation&quot;: { # An operation attribute that defines the permissions applicable to this rule. # Optional. The operation attributes that determine whether this rule applies to a request. If this field is not specified, the rule applies to all operations.
+                    &quot;excludedPermissions&quot;: [ # Optional. Specifies the permissions that this rule excludes from the set of affected permissions given by `permissions`. The number of excluded permission strings in this field is limited to 50 across all rules in the policy. If a permission appears in both `permissions` and `excluded_permissions` then it will _not_ be subject to the policy effect. The excluded permissions can be specified using the same syntax as `permissions`.
+                      &quot;A String&quot;,
+                    ],
+                    &quot;permissions&quot;: [ # Optional. The permissions that are explicitly affected by this rule. The number of permission strings in this field is limited to 50 across all rules in the policy. Each permission uses the format `{service_fqdn}/{resource}.{verb}`, where `{service_fqdn}` is the fully qualified domain name for the service. `*` can be used as a wildcard to match all permissions for a specific service, resource type, or verb. The following formats are supported: * `{service_fqdn}/{resource}.{verb}`: A specific permission. * `{service_fqdn}/{resource}.*`: All permissions for a specific resource type. * `{service_fqdn}/*.*`: All permissions for all resource types under a specific service. * `{service_fqdn}/*.{verb}`: All permissions with a specific verb under a specific service. * `*`: All permissions across all services. For example, `compute.googleapis.com/*.setIamPolicy` refers to all setIamPolicy permissions for any compute resource. Wildcards expand only to the permissions specified in the `enforcement_version` of the policy. If the `enforcement_version` is updated, the wildcard will automatically expand to include new permissions in the updated version.
+                      &quot;A String&quot;,
+                    ],
+                  },
+                  &quot;resources&quot;: [ # Required. A list of Resource Manager resources. If a resource is listed in the rule, then the rule applies for that resource and its descendants. The number of resources in a policy is limited to 500 across all rules in the policy. The following resource types are supported: * Organizations, such as `//cloudresourcemanager.googleapis.com/organizations/123`. * Folders, such as `//cloudresourcemanager.googleapis.com/folders/123`. * Projects, such as `//cloudresourcemanager.googleapis.com/projects/123` or `//cloudresourcemanager.googleapis.com/projects/my-project-id`.
+                    &quot;A String&quot;,
+                  ],
+                },
+              ],
+            },
+            &quot;displayName&quot;: &quot;A String&quot;, # Optional. The description of the principal access boundary policy. Must be less than or equal to 63 characters.
+            &quot;etag&quot;: &quot;A String&quot;, # Optional. The etag for the principal access boundary. If this is provided on update, it must match the server&#x27;s etag.
+            &quot;name&quot;: &quot;A String&quot;, # Identifier. The resource name of the principal access boundary policy. The following format is supported: `organizations/{organization_id}/locations/{location}/principalAccessBoundaryPolicies/{policy_id}`
+            &quot;uid&quot;: &quot;A String&quot;, # Output only. The globally unique ID of the principal access boundary policy.
+            &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the principal access boundary policy was most recently updated.
+          },
+          &quot;policyAccessState&quot;: &quot;A String&quot;, # Output only. Indicates whether the policy allows access to the specified resource.
+          &quot;policyVersion&quot;: { # Details about how a principal access boundary policy&#x27;s version contributes to the policy&#x27;s enforcement state. # Output only. Explanation of the principal access boundary policy&#x27;s version.
+            &quot;enforcementState&quot;: &quot;A String&quot;, # Output only. Indicates whether the policy is enforced based on its version.
+            &quot;version&quot;: 42, # Output only. The actual version of the policy. - If the policy uses static version, this field is the chosen static version. - If the policy uses dynamic version, this field is the effective latest version.
+          },
+          &quot;relevance&quot;: &quot;A String&quot;, # The relevance of this policy to the overall access state.
+        },
+        &quot;explainedPolicyBinding&quot;: { # Details about how a policy binding contributes to the policy explanation, with annotations to indicate how the policy binding contributes to the overall access state. # Details about how this binding contributes to the principal access boundary explanation, with annotations to indicate how the binding contributes to the overall access state.
+          &quot;conditionExplanation&quot;: { # Explanation for how a condition affects a principal&#x27;s access # Optional. Explanation of the condition in the policy binding. If the policy binding doesn&#x27;t have a condition, this field is omitted.
+            &quot;errors&quot;: [ # Any errors that prevented complete evaluation of the condition expression.
+              { # 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).
+                &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+                &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+                  {
+                    &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+                  },
+                ],
+                &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+              },
+            ],
+            &quot;evaluationStates&quot;: [ # The value of each statement of the condition expression. The value can be `true`, `false`, or `null`. The value is `null` if the statement can&#x27;t be evaluated.
+              { # Evaluated state of a condition expression.
+                &quot;end&quot;: 42, # End position of an expression in the condition, by character, end included, for example: the end position of the first part of `a==b || c==d` would be 4.
+                &quot;errors&quot;: [ # Any errors that prevented complete evaluation of the condition expression.
+                  { # 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).
+                    &quot;code&quot;: 42, # The status code, which should be an enum value of google.rpc.Code.
+                    &quot;details&quot;: [ # A list of messages that carry the error details. There is a common set of message types for APIs to use.
+                      {
+                        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+                      },
+                    ],
+                    &quot;message&quot;: &quot;A String&quot;, # A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client.
+                  },
+                ],
+                &quot;start&quot;: 42, # Start position of an expression in the condition, by character.
+                &quot;value&quot;: &quot;&quot;, # Value of this expression.
+              },
+            ],
+            &quot;value&quot;: &quot;&quot;, # Value of the condition.
+          },
+          &quot;policyBinding&quot;: { # IAM policy binding resource. # The policy binding that is explained.
+            &quot;annotations&quot;: { # Optional. User-defined annotations. See https://google.aip.dev/148#annotations for more details such as format and size limitations
+              &quot;a_key&quot;: &quot;A String&quot;,
+            },
+            &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. # Optional. The condition to apply to the policy binding. When set, the `expression` field in the `Expr` must include from 1 to 10 subexpressions, joined by the &quot;||&quot;(Logical OR), &quot;&amp;&amp;&quot;(Logical AND) or &quot;!&quot;(Logical NOT) operators and cannot contain more than 250 characters. The condition is currently only supported when bound to policies of kind principal access boundary. When the bound policy is a principal access boundary policy, the only supported attributes in any subexpression are `principal.type` and `principal.subject`. An example expression is: &quot;principal.type == &#x27;iam.googleapis.com/ServiceAccount&#x27;&quot; or &quot;principal.subject == &#x27;bob@example.com&#x27;&quot;. Allowed operations for `principal.subject`: - `principal.subject == ` - `principal.subject != ` - `principal.subject in []` - `principal.subject.startsWith()` - `principal.subject.endsWith()` Allowed operations for `principal.type`: - `principal.type == ` - `principal.type != ` - `principal.type in []` Supported principal types are workspace, workforce pool, workload pool, service account, and agent identity. Allowed string must be one of: - `iam.googleapis.com/WorkspaceIdentity` - `iam.googleapis.com/WorkforcePoolIdentity` - `iam.googleapis.com/WorkloadPoolIdentity` - `iam.googleapis.com/ServiceAccount` - `iam.googleapis.com/AgentPoolIdentity` (available in Preview)
+              &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;createTime&quot;: &quot;A String&quot;, # Output only. The time when the policy binding was created.
+            &quot;displayName&quot;: &quot;A String&quot;, # Optional. The description of the policy binding. Must be less than or equal to 63 characters.
+            &quot;etag&quot;: &quot;A String&quot;, # Optional. The etag for the policy binding. If this is provided on update, it must match the server&#x27;s etag.
+            &quot;name&quot;: &quot;A String&quot;, # Identifier. The name of the policy binding, in the format `{binding_parent/locations/{location}/policyBindings/{policy_binding_id}`. The binding parent is the closest Resource Manager resource (project, folder, or organization) to the binding target. Format: * `projects/{project_id}/locations/{location}/policyBindings/{policy_binding_id}` * `projects/{project_number}/locations/{location}/policyBindings/{policy_binding_id}` * `folders/{folder_id}/locations/{location}/policyBindings/{policy_binding_id}` * `organizations/{organization_id}/locations/{location}/policyBindings/{policy_binding_id}`
+            &quot;policy&quot;: &quot;A String&quot;, # Required. Immutable. The resource name of the policy to be bound. The binding parent and policy must belong to the same organization.
+            &quot;policyKind&quot;: &quot;A String&quot;, # Immutable. The kind of the policy to attach in this binding. This field must be one of the following: - Left empty (will be automatically set to the policy kind) - The input policy kind
+            &quot;policyUid&quot;: &quot;A String&quot;, # Output only. The globally unique ID of the policy to be bound.
+            &quot;target&quot;: { # The full resource name of the resource to which the policy will be bound. Immutable once set. # Required. Immutable. The full resource name of the resource to which the policy will be bound. Immutable once set.
+              &quot;principalSet&quot;: &quot;A String&quot;, # Immutable. The full resource name that&#x27;s used for principal access boundary policy bindings. The principal set must be directly parented by the policy binding&#x27;s parent or same as the parent if the target is a project, folder, or organization. Examples: * For bindings parented by an organization: * Organization: `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID` * Workforce Identity: `//iam.googleapis.com/locations/global/workforcePools/WORKFORCE_POOL_ID` * Workspace Identity: `//iam.googleapis.com/locations/global/workspace/WORKSPACE_ID` * For bindings parented by a folder: * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID` * For bindings parented by a project: * Project: * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER` * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID` * Workload Identity Pool: `//iam.googleapis.com/projects/PROJECT_NUMBER/locations/LOCATION/workloadIdentityPools/WORKLOAD_POOL_ID`
+              &quot;resource&quot;: &quot;A String&quot;, # Immutable. The full resource name that&#x27;s used for access policy bindings. Examples: * Organization: `//cloudresourcemanager.googleapis.com/organizations/ORGANIZATION_ID` * Folder: `//cloudresourcemanager.googleapis.com/folders/FOLDER_ID` * Project: * `//cloudresourcemanager.googleapis.com/projects/PROJECT_NUMBER` * `//cloudresourcemanager.googleapis.com/projects/PROJECT_ID`
+            },
+            &quot;uid&quot;: &quot;A String&quot;, # Output only. The globally unique ID of the policy binding. Assigned when the policy binding is created.
+            &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The time when the policy binding was most recently updated.
+          },
+          &quot;policyBindingState&quot;: &quot;A String&quot;, # Output only. Indicates whether the policy binding takes effect.
+          &quot;relevance&quot;: &quot;A String&quot;, # The relevance of this policy binding to the overall access state.
+        },
+        &quot;relevance&quot;: &quot;A String&quot;, # The relevance of this principal access boundary binding and policy to the overall access state.
+      },
+    ],
+    &quot;principalAccessBoundaryAccessState&quot;: &quot;A String&quot;, # Output only. Indicates whether the principal is allowed to access specified resource, based on evaluating all applicable principal access boundary bindings and policies.
+    &quot;relevance&quot;: &quot;A String&quot;, # The relevance of the principal access boundary access state to the overall access state.
+  },
+}</pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/run_v1.namespaces.configurations.html b/docs/dyn/run_v1.namespaces.configurations.html
index 5243701..6ebe681 100644
--- a/docs/dyn/run_v1.namespaces.configurations.html
+++ b/docs/dyn/run_v1.namespaces.configurations.html
@@ -107,7 +107,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case always &quot;Configuration&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Configuration, including name, namespace, labels, and annotations.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -141,7 +141,7 @@
   &quot;spec&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # Spec holds the desired state of the Configuration (from the client).
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Template holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -366,188 +366,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
@@ -644,7 +462,7 @@
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case always &quot;Configuration&quot;.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Configuration, including name, namespace, labels, and annotations.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -678,7 +496,7 @@
       &quot;spec&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # Spec holds the desired state of the Configuration (from the client).
         &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Template holds the latest specification for the Revision to be stamped out.
           &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-            &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+            &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -903,188 +721,6 @@
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-            &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-                  &quot;A String&quot;,
-                ],
-                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-                  &quot;A String&quot;,
-                ],
-                &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-                  { # EnvVar represents an environment variable present in a Container.
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                    &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                    &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                      &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                        &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                        &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                        },
-                        &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                        &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                      },
-                      &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                        &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                        &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                        },
-                        &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                        &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                      },
-                    },
-                  },
-                ],
-                &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-                  { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                    &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                      &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                      },
-                      &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                      &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                    },
-                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                    &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                      &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                      },
-                      &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                      &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                    },
-                  },
-                ],
-                &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-                &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-                  { # ContainerPort represents a network port in a single container.
-                    &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                    &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-                  },
-                ],
-                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                    &quot;a_key&quot;: &quot;A String&quot;,
-                  },
-                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                    &quot;a_key&quot;: &quot;A String&quot;,
-                  },
-                },
-                &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-                &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-                },
-                &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-                &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-                  { # VolumeMount describes a mounting of a Volume within a container.
-                    &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                    &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-                  },
-                ],
-                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-              },
-            ],
             &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
             &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
             &quot;volumes&quot;: [
diff --git a/docs/dyn/run_v1.namespaces.domainmappings.html b/docs/dyn/run_v1.namespaces.domainmappings.html
index 4c5965d..2c6144a 100644
--- a/docs/dyn/run_v1.namespaces.domainmappings.html
+++ b/docs/dyn/run_v1.namespaces.domainmappings.html
@@ -108,7 +108,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;domains.cloudrun.com/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;DomainMapping&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this BuildTemplate.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -181,7 +181,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;domains.cloudrun.com/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;DomainMapping&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this BuildTemplate.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -305,7 +305,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;domains.cloudrun.com/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;DomainMapping&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this BuildTemplate.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -394,7 +394,7 @@
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;domains.cloudrun.com/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;DomainMapping&quot;.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this BuildTemplate.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
diff --git a/docs/dyn/run_v1.namespaces.executions.html b/docs/dyn/run_v1.namespaces.executions.html
index ed7a270..ce0c824 100644
--- a/docs/dyn/run_v1.namespaces.executions.html
+++ b/docs/dyn/run_v1.namespaces.executions.html
@@ -114,7 +114,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -477,7 +477,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -801,7 +801,7 @@
       &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
       &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
diff --git a/docs/dyn/run_v1.namespaces.instances.html b/docs/dyn/run_v1.namespaces.instances.html
index 76a070c..30f80c3 100644
--- a/docs/dyn/run_v1.namespaces.instances.html
+++ b/docs/dyn/run_v1.namespaces.instances.html
@@ -79,10 +79,10 @@
 <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">Create a Instance.</p>
+<p class="firstline">Create an Instance.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, apiVersion=None, kind=None, propagationPolicy=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Delete a Instance.</p>
+<p class="firstline">Delete an Instance.</p>
 <p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Get an Instance.</p>
@@ -106,18 +106,18 @@
 
 <div class="method">
     <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
-  <pre>Create a Instance.
+  <pre>Create an Instance.
 
 Args:
-  parent: string, Required. The namespace in which the Instance should be created. Replace {namespace} with the project ID or number. It takes the form namespaces/{namespace}. For example: namespaces/PROJECT_ID (required)
+  parent: string, Required. The resource&#x27;s parent. In Cloud Run, it may be one of the following: * `{project_id_or_number}` * `namespaces/{project_id_or_number}` * `namespaces/{project_id_or_number}/instances` * `projects/{project_id_or_number}/locations/{region}` * `projects/{project_id_or_number}/regions/{region}` Parent resource namespace. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Instance represents the configuration of a single Instance, which references a container image which is run to completion.
+{ # An Instance represents the configuration of a single instance that references a container image and runs to completion.
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -148,7 +148,7 @@
     &quot;selfLink&quot;: &quot;A String&quot;, # URL representing this object.
     &quot;uid&quot;: &quot;A String&quot;, # Unique, system-generated identifier for this resource.
   },
-  &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of a Instance.
+  &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of an Instance.
     &quot;containers&quot;: [ # Optional. List of containers belonging to the Instance. We disallow a number of fields on this Container.
       { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
         &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
@@ -382,7 +382,7 @@
       },
     ],
   },
-  &quot;status&quot;: { # InstanceStatus represents the current state of a Instance. # Output only. Current status of a Instance.
+  &quot;status&quot;: { # InstanceStatus represents the current state of an Instance. # Output only. Current status of an Instance.
     &quot;conditions&quot;: [ # Output only. Conditions communicate information about ongoing/complete reconciliation processes that bring the &quot;spec&quot; inline with the observed state of the world. Instance-specific conditions include: * `Ready`: `True` when the Instance is ready to be executed.
       { # Conditions show the status of reconciliation progress on a given resource. Most resource use a top-level condition type &quot;Ready&quot; or &quot;Completed&quot; to show overall status with other conditions to checkpoint each stage of reconciliation. Note that if metadata.Generation does not equal status.ObservedGeneration, the conditions shown may not be relevant for the current spec.
         &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Optional. Last time the condition transitioned from one status to another.
@@ -409,11 +409,11 @@
 Returns:
   An object of the form:
 
-    { # Instance represents the configuration of a single Instance, which references a container image which is run to completion.
+    { # An Instance represents the configuration of a single instance that references a container image and runs to completion.
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -444,7 +444,7 @@
     &quot;selfLink&quot;: &quot;A String&quot;, # URL representing this object.
     &quot;uid&quot;: &quot;A String&quot;, # Unique, system-generated identifier for this resource.
   },
-  &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of a Instance.
+  &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of an Instance.
     &quot;containers&quot;: [ # Optional. List of containers belonging to the Instance. We disallow a number of fields on this Container.
       { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
         &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
@@ -678,7 +678,7 @@
       },
     ],
   },
-  &quot;status&quot;: { # InstanceStatus represents the current state of a Instance. # Output only. Current status of a Instance.
+  &quot;status&quot;: { # InstanceStatus represents the current state of an Instance. # Output only. Current status of an Instance.
     &quot;conditions&quot;: [ # Output only. Conditions communicate information about ongoing/complete reconciliation processes that bring the &quot;spec&quot; inline with the observed state of the world. Instance-specific conditions include: * `Ready`: `True` when the Instance is ready to be executed.
       { # Conditions show the status of reconciliation progress on a given resource. Most resource use a top-level condition type &quot;Ready&quot; or &quot;Completed&quot; to show overall status with other conditions to checkpoint each stage of reconciliation. Note that if metadata.Generation does not equal status.ObservedGeneration, the conditions shown may not be relevant for the current spec.
         &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Optional. Last time the condition transitioned from one status to another.
@@ -700,10 +700,10 @@
 
 <div class="method">
     <code class="details" id="delete">delete(name, apiVersion=None, kind=None, propagationPolicy=None, x__xgafv=None)</code>
-  <pre>Delete a Instance.
+  <pre>Delete an Instance.
 
 Args:
-  name: string, Required. The name of the Instance to delete. Replace {namespace} with the project ID or number. It takes the form namespaces/{namespace}. For example: namespaces/PROJECT_ID (required)
+  name: string, Required. The fully qualified name of the Instance to delete. It can be any of the following forms: * `namespaces/{project_id_or_number}/instances/{instance_name}` (only when the `endpoint` is regional) * `projects/{project_id_or_number}/locations/{region}/instances/{instance_name}` * `projects/{project_id_or_number}/regions/{region}/instances/{instance_name}` Parent resource namespace. (required)
   apiVersion: string, Optional. Cloud Run currently ignores this parameter.
   kind: string, Optional. Cloud Run currently ignores this parameter.
   propagationPolicy: string, Optional. Specifies the propagation policy of delete. Cloud Run currently ignores this setting, and deletes in the background. Please see kubernetes.io/docs/concepts/workloads/controllers/garbage-collection/ for more information.
@@ -747,7 +747,7 @@
   <pre>Get an Instance.
 
 Args:
-  name: string, Required. The name of the Instance to retrieve. It takes the form namespaces/{namespace}/instances/{Instance_name} and the `endpoint` must be regional. Replace {namespace} with the project ID or number. (required)
+  name: string, Required. The fully qualified name of the Instance to retrieve. It can be any of the following forms: * `namespaces/{project_id_or_number}/instances/{instance_name}` (only when the `endpoint` is regional) * `projects/{project_id_or_number}/locations/{region}/instances/{instance_name}` * `projects/{project_id_or_number}/regions/{region}/instances/{instance_name}` Parent resource namespace. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -756,11 +756,11 @@
 Returns:
   An object of the form:
 
-    { # Instance represents the configuration of a single Instance, which references a container image which is run to completion.
+    { # An Instance represents the configuration of a single instance that references a container image and runs to completion.
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -791,7 +791,7 @@
     &quot;selfLink&quot;: &quot;A String&quot;, # URL representing this object.
     &quot;uid&quot;: &quot;A String&quot;, # Unique, system-generated identifier for this resource.
   },
-  &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of a Instance.
+  &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of an Instance.
     &quot;containers&quot;: [ # Optional. List of containers belonging to the Instance. We disallow a number of fields on this Container.
       { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
         &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
@@ -1025,7 +1025,7 @@
       },
     ],
   },
-  &quot;status&quot;: { # InstanceStatus represents the current state of a Instance. # Output only. Current status of a Instance.
+  &quot;status&quot;: { # InstanceStatus represents the current state of an Instance. # Output only. Current status of an Instance.
     &quot;conditions&quot;: [ # Output only. Conditions communicate information about ongoing/complete reconciliation processes that bring the &quot;spec&quot; inline with the observed state of the world. Instance-specific conditions include: * `Ready`: `True` when the Instance is ready to be executed.
       { # Conditions show the status of reconciliation progress on a given resource. Most resource use a top-level condition type &quot;Ready&quot; or &quot;Completed&quot; to show overall status with other conditions to checkpoint each stage of reconciliation. Note that if metadata.Generation does not equal status.ObservedGeneration, the conditions shown may not be relevant for the current spec.
         &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Optional. Last time the condition transitioned from one status to another.
@@ -1050,7 +1050,7 @@
   <pre>List Instances. Results are sorted by creation time, descending.
 
 Args:
-  parent: string, Required. The namespace from which the Instances should be listed. Replace {namespace} with the project ID or number. It takes the form namespaces/{namespace}. For example: namespaces/PROJECT_ID (required)
+  parent: string, Required. The parent from where the resources should be listed. In Cloud Run, it may be one of the following: * `{project_id_or_number}` * `namespaces/{project_id_or_number}` * `namespaces/{project_id_or_number}/instances` * `projects/{project_id_or_number}/locations/{region}` * `projects/{project_id_or_number}/regions/{region}` Parent resource namespace. (required)
   continue: string, Optional. Optional encoded string to continue paging.
   fieldSelector: string, Optional. Not supported by Cloud Run.
   includeUninitialized: boolean, Optional. Not supported by Cloud Run.
@@ -1069,11 +1069,11 @@
     { # ListInstancesResponse is a list of Instances resources.
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;run.googleapis.com/v1&quot;.
   &quot;items&quot;: [ # List of Instances.
-    { # Instance represents the configuration of a single Instance, which references a container image which is run to completion.
+    { # An Instance represents the configuration of a single instance that references a container image and runs to completion.
       &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
       &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1104,7 +1104,7 @@
         &quot;selfLink&quot;: &quot;A String&quot;, # URL representing this object.
         &quot;uid&quot;: &quot;A String&quot;, # Unique, system-generated identifier for this resource.
       },
-      &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of a Instance.
+      &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of an Instance.
         &quot;containers&quot;: [ # Optional. List of containers belonging to the Instance. We disallow a number of fields on this Container.
           { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
             &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
@@ -1338,7 +1338,7 @@
           },
         ],
       },
-      &quot;status&quot;: { # InstanceStatus represents the current state of a Instance. # Output only. Current status of a Instance.
+      &quot;status&quot;: { # InstanceStatus represents the current state of an Instance. # Output only. Current status of an Instance.
         &quot;conditions&quot;: [ # Output only. Conditions communicate information about ongoing/complete reconciliation processes that bring the &quot;spec&quot; inline with the observed state of the world. Instance-specific conditions include: * `Ready`: `True` when the Instance is ready to be executed.
           { # Conditions show the status of reconciliation progress on a given resource. Most resource use a top-level condition type &quot;Ready&quot; or &quot;Completed&quot; to show overall status with other conditions to checkpoint each stage of reconciliation. Note that if metadata.Generation does not equal status.ObservedGeneration, the conditions shown may not be relevant for the current spec.
             &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Optional. Last time the condition transitioned from one status to another.
@@ -1374,15 +1374,15 @@
   <pre>Replace an Instance.
 
 Args:
-  name: string, Required. The name of the Instance being replaced. Replace {namespace} with the project ID or number. It takes the form namespaces/{namespace}. For example: namespaces/PROJECT_ID (required)
+  name: string, Required. The fully qualified name of the Instance being replaced. It can be any of the following forms: * `namespaces/{project_id_or_number}/instances/{instance_name}` (only when the `endpoint` is regional) * `projects/{project_id_or_number}/locations/{region}/instances/{instance_name}` * `projects/{project_id_or_number}/regions/{region}/instances/{instance_name}` Parent resource namespace. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # Instance represents the configuration of a single Instance, which references a container image which is run to completion.
+{ # An Instance represents the configuration of a single instance that references a container image and runs to completion.
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1413,7 +1413,7 @@
     &quot;selfLink&quot;: &quot;A String&quot;, # URL representing this object.
     &quot;uid&quot;: &quot;A String&quot;, # Unique, system-generated identifier for this resource.
   },
-  &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of a Instance.
+  &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of an Instance.
     &quot;containers&quot;: [ # Optional. List of containers belonging to the Instance. We disallow a number of fields on this Container.
       { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
         &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
@@ -1647,7 +1647,7 @@
       },
     ],
   },
-  &quot;status&quot;: { # InstanceStatus represents the current state of a Instance. # Output only. Current status of a Instance.
+  &quot;status&quot;: { # InstanceStatus represents the current state of an Instance. # Output only. Current status of an Instance.
     &quot;conditions&quot;: [ # Output only. Conditions communicate information about ongoing/complete reconciliation processes that bring the &quot;spec&quot; inline with the observed state of the world. Instance-specific conditions include: * `Ready`: `True` when the Instance is ready to be executed.
       { # Conditions show the status of reconciliation progress on a given resource. Most resource use a top-level condition type &quot;Ready&quot; or &quot;Completed&quot; to show overall status with other conditions to checkpoint each stage of reconciliation. Note that if metadata.Generation does not equal status.ObservedGeneration, the conditions shown may not be relevant for the current spec.
         &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Optional. Last time the condition transitioned from one status to another.
@@ -1674,11 +1674,11 @@
 Returns:
   An object of the form:
 
-    { # Instance represents the configuration of a single Instance, which references a container image which is run to completion.
+    { # An Instance represents the configuration of a single instance that references a container image and runs to completion.
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1709,7 +1709,7 @@
     &quot;selfLink&quot;: &quot;A String&quot;, # URL representing this object.
     &quot;uid&quot;: &quot;A String&quot;, # Unique, system-generated identifier for this resource.
   },
-  &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of a Instance.
+  &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of an Instance.
     &quot;containers&quot;: [ # Optional. List of containers belonging to the Instance. We disallow a number of fields on this Container.
       { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
         &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
@@ -1943,7 +1943,7 @@
       },
     ],
   },
-  &quot;status&quot;: { # InstanceStatus represents the current state of a Instance. # Output only. Current status of a Instance.
+  &quot;status&quot;: { # InstanceStatus represents the current state of an Instance. # Output only. Current status of an Instance.
     &quot;conditions&quot;: [ # Output only. Conditions communicate information about ongoing/complete reconciliation processes that bring the &quot;spec&quot; inline with the observed state of the world. Instance-specific conditions include: * `Ready`: `True` when the Instance is ready to be executed.
       { # Conditions show the status of reconciliation progress on a given resource. Most resource use a top-level condition type &quot;Ready&quot; or &quot;Completed&quot; to show overall status with other conditions to checkpoint each stage of reconciliation. Note that if metadata.Generation does not equal status.ObservedGeneration, the conditions shown may not be relevant for the current spec.
         &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Optional. Last time the condition transitioned from one status to another.
@@ -1983,11 +1983,11 @@
 Returns:
   An object of the form:
 
-    { # Instance represents the configuration of a single Instance, which references a container image which is run to completion.
+    { # An Instance represents the configuration of a single instance that references a container image and runs to completion.
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -2018,7 +2018,7 @@
     &quot;selfLink&quot;: &quot;A String&quot;, # URL representing this object.
     &quot;uid&quot;: &quot;A String&quot;, # Unique, system-generated identifier for this resource.
   },
-  &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of a Instance.
+  &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of an Instance.
     &quot;containers&quot;: [ # Optional. List of containers belonging to the Instance. We disallow a number of fields on this Container.
       { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
         &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
@@ -2252,7 +2252,7 @@
       },
     ],
   },
-  &quot;status&quot;: { # InstanceStatus represents the current state of a Instance. # Output only. Current status of a Instance.
+  &quot;status&quot;: { # InstanceStatus represents the current state of an Instance. # Output only. Current status of an Instance.
     &quot;conditions&quot;: [ # Output only. Conditions communicate information about ongoing/complete reconciliation processes that bring the &quot;spec&quot; inline with the observed state of the world. Instance-specific conditions include: * `Ready`: `True` when the Instance is ready to be executed.
       { # Conditions show the status of reconciliation progress on a given resource. Most resource use a top-level condition type &quot;Ready&quot; or &quot;Completed&quot; to show overall status with other conditions to checkpoint each stage of reconciliation. Note that if metadata.Generation does not equal status.ObservedGeneration, the conditions shown may not be relevant for the current spec.
         &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Optional. Last time the condition transitioned from one status to another.
@@ -2292,11 +2292,11 @@
 Returns:
   An object of the form:
 
-    { # Instance represents the configuration of a single Instance, which references a container image which is run to completion.
+    { # An Instance represents the configuration of a single instance that references a container image and runs to completion.
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -2327,7 +2327,7 @@
     &quot;selfLink&quot;: &quot;A String&quot;, # URL representing this object.
     &quot;uid&quot;: &quot;A String&quot;, # Unique, system-generated identifier for this resource.
   },
-  &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of a Instance.
+  &quot;spec&quot;: { # InstanceSpec describes how the Instance will look. # Optional. Specification of the desired behavior of an Instance.
     &quot;containers&quot;: [ # Optional. List of containers belonging to the Instance. We disallow a number of fields on this Container.
       { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
         &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
@@ -2561,7 +2561,7 @@
       },
     ],
   },
-  &quot;status&quot;: { # InstanceStatus represents the current state of a Instance. # Output only. Current status of a Instance.
+  &quot;status&quot;: { # InstanceStatus represents the current state of an Instance. # Output only. Current status of an Instance.
     &quot;conditions&quot;: [ # Output only. Conditions communicate information about ongoing/complete reconciliation processes that bring the &quot;spec&quot; inline with the observed state of the world. Instance-specific conditions include: * `Ready`: `True` when the Instance is ready to be executed.
       { # Conditions show the status of reconciliation progress on a given resource. Most resource use a top-level condition type &quot;Ready&quot; or &quot;Completed&quot; to show overall status with other conditions to checkpoint each stage of reconciliation. Note that if metadata.Generation does not equal status.ObservedGeneration, the conditions shown may not be relevant for the current spec.
         &quot;lastTransitionTime&quot;: &quot;A String&quot;, # Optional. Last time the condition transitioned from one status to another.
diff --git a/docs/dyn/run_v1.namespaces.jobs.html b/docs/dyn/run_v1.namespaces.jobs.html
index 61fcd41..ee3f4e7 100644
--- a/docs/dyn/run_v1.namespaces.jobs.html
+++ b/docs/dyn/run_v1.namespaces.jobs.html
@@ -114,7 +114,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -150,7 +150,7 @@
     &quot;startExecutionToken&quot;: &quot;A String&quot;, # A unique string used as a suffix for creating a new execution. The Job will become ready when the execution is successfully started. The sum of job name and token length must be fewer than 63 characters.
     &quot;template&quot;: { # ExecutionTemplateSpec describes the metadata and spec an Execution should have when created from a job. # Optional. Describes the execution that will be created when running a job.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Optional metadata for this Execution, including labels and annotations. The following annotation keys set properties of the created execution: * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -459,7 +459,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -495,7 +495,7 @@
     &quot;startExecutionToken&quot;: &quot;A String&quot;, # A unique string used as a suffix for creating a new execution. The Job will become ready when the execution is successfully started. The sum of job name and token length must be fewer than 63 characters.
     &quot;template&quot;: { # ExecutionTemplateSpec describes the metadata and spec an Execution should have when created from a job. # Optional. Describes the execution that will be created when running a job.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Optional metadata for this Execution, including labels and annotations. The following annotation keys set properties of the created execution: * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -855,7 +855,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -891,7 +891,7 @@
     &quot;startExecutionToken&quot;: &quot;A String&quot;, # A unique string used as a suffix for creating a new execution. The Job will become ready when the execution is successfully started. The sum of job name and token length must be fewer than 63 characters.
     &quot;template&quot;: { # ExecutionTemplateSpec describes the metadata and spec an Execution should have when created from a job. # Optional. Describes the execution that will be created when running a job.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Optional metadata for this Execution, including labels and annotations. The following annotation keys set properties of the created execution: * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1217,7 +1217,7 @@
       &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
       &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1253,7 +1253,7 @@
         &quot;startExecutionToken&quot;: &quot;A String&quot;, # A unique string used as a suffix for creating a new execution. The Job will become ready when the execution is successfully started. The sum of job name and token length must be fewer than 63 characters.
         &quot;template&quot;: { # ExecutionTemplateSpec describes the metadata and spec an Execution should have when created from a job. # Optional. Describes the execution that will be created when running a job.
           &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Optional metadata for this Execution, including labels and annotations. The following annotation keys set properties of the created execution: * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-            &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+            &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1575,7 +1575,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1611,7 +1611,7 @@
     &quot;startExecutionToken&quot;: &quot;A String&quot;, # A unique string used as a suffix for creating a new execution. The Job will become ready when the execution is successfully started. The sum of job name and token length must be fewer than 63 characters.
     &quot;template&quot;: { # ExecutionTemplateSpec describes the metadata and spec an Execution should have when created from a job. # Optional. Describes the execution that will be created when running a job.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Optional metadata for this Execution, including labels and annotations. The following annotation keys set properties of the created execution: * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1920,7 +1920,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1956,7 +1956,7 @@
     &quot;startExecutionToken&quot;: &quot;A String&quot;, # A unique string used as a suffix for creating a new execution. The Job will become ready when the execution is successfully started. The sum of job name and token length must be fewer than 63 characters.
     &quot;template&quot;: { # ExecutionTemplateSpec describes the metadata and spec an Execution should have when created from a job. # Optional. Describes the execution that will be created when running a job.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Optional metadata for this Execution, including labels and annotations. The following annotation keys set properties of the created execution: * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -2315,7 +2315,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
diff --git a/docs/dyn/run_v1.namespaces.revisions.html b/docs/dyn/run_v1.namespaces.revisions.html
index 9403b46..bea7aea 100644
--- a/docs/dyn/run_v1.namespaces.revisions.html
+++ b/docs/dyn/run_v1.namespaces.revisions.html
@@ -155,7 +155,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;Revision&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Revision, including name, namespace, labels, and annotations.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -380,188 +380,6 @@
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-    &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-      { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-        &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-          &quot;A String&quot;,
-        ],
-        &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-          &quot;A String&quot;,
-        ],
-        &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-          { # EnvVar represents an environment variable present in a Container.
-            &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-            &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-            &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-              &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                  &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                },
-                &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-              },
-              &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                  &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                },
-                &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-              },
-            },
-          },
-        ],
-        &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-          { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-            &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-              &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-              },
-              &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-              &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-            },
-            &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-            &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-              &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-              },
-              &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-              &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-            },
-          },
-        ],
-        &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-        &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-        &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-          &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-            &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-              &quot;A String&quot;,
-            ],
-          },
-          &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-          &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-            &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-            &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-          },
-          &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-            &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-            &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-              { # HTTPHeader describes a custom header to be used in HTTP probes
-                &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                &quot;value&quot;: &quot;A String&quot;, # The header field value
-              },
-            ],
-            &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-            &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-            &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-          },
-          &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-          &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-          &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-          &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-            &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-            &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-          },
-          &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-        },
-        &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-        &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-          { # ContainerPort represents a network port in a single container.
-            &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-            &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-            &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-          },
-        ],
-        &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-          &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-            &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-              &quot;A String&quot;,
-            ],
-          },
-          &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-          &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-            &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-            &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-          },
-          &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-            &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-            &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-              { # HTTPHeader describes a custom header to be used in HTTP probes
-                &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                &quot;value&quot;: &quot;A String&quot;, # The header field value
-              },
-            ],
-            &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-            &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-            &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-          },
-          &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-          &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-          &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-          &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-            &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-            &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-          },
-          &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-        },
-        &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-          &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-            &quot;a_key&quot;: &quot;A String&quot;,
-          },
-          &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-            &quot;a_key&quot;: &quot;A String&quot;,
-          },
-        },
-        &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-        &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-          &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-        },
-        &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-          &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-            &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-              &quot;A String&quot;,
-            ],
-          },
-          &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-          &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-            &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-            &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-          },
-          &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-            &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-            &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-              { # HTTPHeader describes a custom header to be used in HTTP probes
-                &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                &quot;value&quot;: &quot;A String&quot;, # The header field value
-              },
-            ],
-            &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-            &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-            &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-          },
-          &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-          &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-          &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-          &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-            &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-            &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-          },
-          &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-        },
-        &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-        &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-        &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-          { # VolumeMount describes a mounting of a Volume within a container.
-            &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-            &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-            &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-            &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-          },
-        ],
-        &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-      },
-    ],
     &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
     &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
     &quot;volumes&quot;: [
@@ -658,7 +476,7 @@
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;Revision&quot;.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Revision, including name, namespace, labels, and annotations.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -883,188 +701,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
diff --git a/docs/dyn/run_v1.namespaces.routes.html b/docs/dyn/run_v1.namespaces.routes.html
index ca3b774..25aea7b 100644
--- a/docs/dyn/run_v1.namespaces.routes.html
+++ b/docs/dyn/run_v1.namespaces.routes.html
@@ -107,7 +107,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case always &quot;Route&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Route, including name, namespace, labels, and annotations.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -208,7 +208,7 @@
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case always &quot;Route&quot;.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Route, including name, namespace, labels, and annotations.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
diff --git a/docs/dyn/run_v1.namespaces.services.html b/docs/dyn/run_v1.namespaces.services.html
index df5473e..f344f22 100644
--- a/docs/dyn/run_v1.namespaces.services.html
+++ b/docs/dyn/run_v1.namespaces.services.html
@@ -111,7 +111,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;Service&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in Service.metadata.annotations. * `run.googleapis.com/base-images` * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` * `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` * `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -145,7 +145,7 @@
   &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Holds the desired state of the Service (from the client).
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -370,188 +370,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
@@ -656,7 +474,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;Service&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in Service.metadata.annotations. * `run.googleapis.com/base-images` * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` * `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` * `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -690,7 +508,7 @@
   &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Holds the desired state of the Service (from the client).
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -915,188 +733,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
@@ -1252,7 +888,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;Service&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in Service.metadata.annotations. * `run.googleapis.com/base-images` * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` * `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` * `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1286,7 +922,7 @@
   &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Holds the desired state of the Service (from the client).
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1511,188 +1147,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
@@ -1813,7 +1267,7 @@
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;Service&quot;.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in Service.metadata.annotations. * `run.googleapis.com/base-images` * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` * `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` * `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1847,7 +1301,7 @@
       &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Holds the desired state of the Service (from the client).
         &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
           &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-            &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+            &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -2072,188 +1526,6 @@
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-            &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-                  &quot;A String&quot;,
-                ],
-                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-                  &quot;A String&quot;,
-                ],
-                &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-                  { # EnvVar represents an environment variable present in a Container.
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                    &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                    &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                      &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                        &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                        &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                        },
-                        &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                        &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                      },
-                      &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                        &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                        &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                        },
-                        &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                        &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                      },
-                    },
-                  },
-                ],
-                &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-                  { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                    &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                      &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                      },
-                      &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                      &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                    },
-                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                    &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                      &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                      },
-                      &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                      &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                    },
-                  },
-                ],
-                &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-                &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-                  { # ContainerPort represents a network port in a single container.
-                    &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                    &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-                  },
-                ],
-                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                    &quot;a_key&quot;: &quot;A String&quot;,
-                  },
-                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                    &quot;a_key&quot;: &quot;A String&quot;,
-                  },
-                },
-                &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-                &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-                },
-                &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-                &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-                  { # VolumeMount describes a mounting of a Volume within a container.
-                    &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                    &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-                  },
-                ],
-                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-              },
-            ],
             &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
             &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
             &quot;volumes&quot;: [
@@ -2370,7 +1642,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;Service&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in Service.metadata.annotations. * `run.googleapis.com/base-images` * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` * `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` * `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -2404,7 +1676,7 @@
   &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Holds the desired state of the Service (from the client).
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -2629,188 +1901,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
@@ -2915,7 +2005,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;Service&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in Service.metadata.annotations. * `run.googleapis.com/base-images` * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` * `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` * `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -2949,7 +2039,7 @@
   &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Holds the desired state of the Service (from the client).
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -3174,188 +2264,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
diff --git a/docs/dyn/run_v1.namespaces.tasks.html b/docs/dyn/run_v1.namespaces.tasks.html
index 9916604..713e216 100644
--- a/docs/dyn/run_v1.namespaces.tasks.html
+++ b/docs/dyn/run_v1.namespaces.tasks.html
@@ -107,7 +107,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
   &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -435,7 +435,7 @@
       &quot;apiVersion&quot;: &quot;A String&quot;, # Optional. APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values.
       &quot;kind&quot;: &quot;A String&quot;, # Optional. Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional. Standard object&#x27;s metadata.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
diff --git a/docs/dyn/run_v1.namespaces.workerpools.html b/docs/dyn/run_v1.namespaces.workerpools.html
index 9987226..c27710a 100644
--- a/docs/dyn/run_v1.namespaces.workerpools.html
+++ b/docs/dyn/run_v1.namespaces.workerpools.html
@@ -111,7 +111,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;run.googleapis.com/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;WorkerPool&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this WorkerPool, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in WorkerPool.metadata.annotations. * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/description`
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -152,7 +152,7 @@
     ],
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -377,188 +377,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
@@ -646,7 +464,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;run.googleapis.com/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;WorkerPool&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this WorkerPool, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in WorkerPool.metadata.annotations. * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/description`
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -687,7 +505,7 @@
     ],
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -912,188 +730,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
@@ -1229,7 +865,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;run.googleapis.com/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;WorkerPool&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this WorkerPool, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in WorkerPool.metadata.annotations. * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/description`
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1270,7 +906,7 @@
     ],
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1495,188 +1131,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
@@ -1776,7 +1230,7 @@
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;run.googleapis.com/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;WorkerPool&quot;.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this WorkerPool, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in WorkerPool.metadata.annotations. * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/description`
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1817,7 +1271,7 @@
         ],
         &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
           &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-            &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+            &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -2042,188 +1496,6 @@
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-            &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-                  &quot;A String&quot;,
-                ],
-                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-                  &quot;A String&quot;,
-                ],
-                &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-                  { # EnvVar represents an environment variable present in a Container.
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                    &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                    &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                      &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                        &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                        &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                        },
-                        &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                        &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                      },
-                      &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                        &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                        &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                        },
-                        &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                        &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                      },
-                    },
-                  },
-                ],
-                &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-                  { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                    &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                      &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                      },
-                      &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                      &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                    },
-                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                    &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                      &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                      },
-                      &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                      &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                    },
-                  },
-                ],
-                &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-                &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-                  { # ContainerPort represents a network port in a single container.
-                    &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                    &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-                  },
-                ],
-                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                    &quot;a_key&quot;: &quot;A String&quot;,
-                  },
-                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                    &quot;a_key&quot;: &quot;A String&quot;,
-                  },
-                },
-                &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-                &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-                },
-                &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-                &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-                  { # VolumeMount describes a mounting of a Volume within a container.
-                    &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                    &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-                  },
-                ],
-                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-              },
-            ],
             &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
             &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
             &quot;volumes&quot;: [
@@ -2323,7 +1595,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;run.googleapis.com/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;WorkerPool&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this WorkerPool, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in WorkerPool.metadata.annotations. * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/description`
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -2364,7 +1636,7 @@
     ],
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -2589,188 +1861,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
@@ -2858,7 +1948,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;run.googleapis.com/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;WorkerPool&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this WorkerPool, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in WorkerPool.metadata.annotations. * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/description`
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -2899,7 +1989,7 @@
     ],
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -3124,188 +2214,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
diff --git a/docs/dyn/run_v1.projects.locations.configurations.html b/docs/dyn/run_v1.projects.locations.configurations.html
index cea697c..50186e5 100644
--- a/docs/dyn/run_v1.projects.locations.configurations.html
+++ b/docs/dyn/run_v1.projects.locations.configurations.html
@@ -107,7 +107,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case always &quot;Configuration&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Configuration, including name, namespace, labels, and annotations.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -141,7 +141,7 @@
   &quot;spec&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # Spec holds the desired state of the Configuration (from the client).
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Template holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -366,188 +366,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
@@ -644,7 +462,7 @@
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case always &quot;Configuration&quot;.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Configuration, including name, namespace, labels, and annotations.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -678,7 +496,7 @@
       &quot;spec&quot;: { # ConfigurationSpec holds the desired state of the Configuration (from the client). # Spec holds the desired state of the Configuration (from the client).
         &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Template holds the latest specification for the Revision to be stamped out.
           &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-            &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+            &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -903,188 +721,6 @@
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-            &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-                  &quot;A String&quot;,
-                ],
-                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-                  &quot;A String&quot;,
-                ],
-                &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-                  { # EnvVar represents an environment variable present in a Container.
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                    &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                    &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                      &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                        &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                        &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                        },
-                        &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                        &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                      },
-                      &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                        &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                        &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                        },
-                        &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                        &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                      },
-                    },
-                  },
-                ],
-                &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-                  { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                    &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                      &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                      },
-                      &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                      &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                    },
-                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                    &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                      &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                      },
-                      &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                      &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                    },
-                  },
-                ],
-                &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-                &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-                  { # ContainerPort represents a network port in a single container.
-                    &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                    &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-                  },
-                ],
-                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                    &quot;a_key&quot;: &quot;A String&quot;,
-                  },
-                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                    &quot;a_key&quot;: &quot;A String&quot;,
-                  },
-                },
-                &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-                &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-                },
-                &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-                &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-                  { # VolumeMount describes a mounting of a Volume within a container.
-                    &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                    &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-                  },
-                ],
-                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-              },
-            ],
             &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
             &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
             &quot;volumes&quot;: [
diff --git a/docs/dyn/run_v1.projects.locations.domainmappings.html b/docs/dyn/run_v1.projects.locations.domainmappings.html
index 4f30466..4da7b83 100644
--- a/docs/dyn/run_v1.projects.locations.domainmappings.html
+++ b/docs/dyn/run_v1.projects.locations.domainmappings.html
@@ -108,7 +108,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;domains.cloudrun.com/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;DomainMapping&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this BuildTemplate.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -181,7 +181,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;domains.cloudrun.com/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;DomainMapping&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this BuildTemplate.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -305,7 +305,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;domains.cloudrun.com/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;DomainMapping&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this BuildTemplate.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -394,7 +394,7 @@
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;domains.cloudrun.com/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of resource, in this case &quot;DomainMapping&quot;.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this BuildTemplate.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
diff --git a/docs/dyn/run_v1.projects.locations.instances.html b/docs/dyn/run_v1.projects.locations.instances.html
index 449785f..0442ce4 100644
--- a/docs/dyn/run_v1.projects.locations.instances.html
+++ b/docs/dyn/run_v1.projects.locations.instances.html
@@ -79,7 +79,7 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Get the IAM Access Control policy currently in effect for the given instance. This result does not include any inherited policies.</p>
+<p class="firstline">Gets the IAM Access Control policy currently in effect for the given instance. This result does not include any inherited policies.</p>
 <p class="toc_element">
   <code><a href="#setIamPolicy">setIamPolicy(resource, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Sets the IAM Access control policy for the specified instance. Overwrites any existing policy.</p>
@@ -94,7 +94,7 @@
 
 <div class="method">
     <code class="details" id="getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</code>
-  <pre>Get the IAM Access Control policy currently in effect for the given instance. This result does not include any inherited policies.
+  <pre>Gets the IAM Access Control policy currently in effect for the given instance. This result does not include any inherited policies.
 
 Args:
   resource: string, REQUIRED: The resource for which the policy is being requested. See [Resource names](https://cloud.google.com/apis/design/resource_names) for the appropriate value for this field. (required)
diff --git a/docs/dyn/run_v1.projects.locations.revisions.html b/docs/dyn/run_v1.projects.locations.revisions.html
index 8d93f9f..d4db72e 100644
--- a/docs/dyn/run_v1.projects.locations.revisions.html
+++ b/docs/dyn/run_v1.projects.locations.revisions.html
@@ -155,7 +155,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;Revision&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Revision, including name, namespace, labels, and annotations.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -380,188 +380,6 @@
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-    &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-      { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-        &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-          &quot;A String&quot;,
-        ],
-        &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-          &quot;A String&quot;,
-        ],
-        &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-          { # EnvVar represents an environment variable present in a Container.
-            &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-            &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-            &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-              &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                  &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                },
-                &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-              },
-              &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                  &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                },
-                &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-              },
-            },
-          },
-        ],
-        &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-          { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-            &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-              &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-              },
-              &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-              &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-            },
-            &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-            &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-              &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-              },
-              &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-              &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-            },
-          },
-        ],
-        &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-        &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-        &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-          &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-            &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-              &quot;A String&quot;,
-            ],
-          },
-          &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-          &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-            &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-            &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-          },
-          &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-            &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-            &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-              { # HTTPHeader describes a custom header to be used in HTTP probes
-                &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                &quot;value&quot;: &quot;A String&quot;, # The header field value
-              },
-            ],
-            &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-            &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-            &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-          },
-          &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-          &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-          &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-          &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-            &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-            &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-          },
-          &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-        },
-        &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-        &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-          { # ContainerPort represents a network port in a single container.
-            &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-            &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-            &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-          },
-        ],
-        &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-          &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-            &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-              &quot;A String&quot;,
-            ],
-          },
-          &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-          &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-            &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-            &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-          },
-          &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-            &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-            &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-              { # HTTPHeader describes a custom header to be used in HTTP probes
-                &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                &quot;value&quot;: &quot;A String&quot;, # The header field value
-              },
-            ],
-            &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-            &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-            &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-          },
-          &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-          &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-          &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-          &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-            &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-            &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-          },
-          &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-        },
-        &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-          &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-            &quot;a_key&quot;: &quot;A String&quot;,
-          },
-          &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-            &quot;a_key&quot;: &quot;A String&quot;,
-          },
-        },
-        &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-        &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-          &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-        },
-        &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-          &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-            &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-              &quot;A String&quot;,
-            ],
-          },
-          &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-          &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-            &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-            &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-          },
-          &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-            &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-            &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-              { # HTTPHeader describes a custom header to be used in HTTP probes
-                &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                &quot;value&quot;: &quot;A String&quot;, # The header field value
-              },
-            ],
-            &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-            &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-            &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-          },
-          &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-          &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-          &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-          &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-            &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-            &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-          },
-          &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-        },
-        &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-        &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-        &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-          { # VolumeMount describes a mounting of a Volume within a container.
-            &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-            &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-            &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-            &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-          },
-        ],
-        &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-      },
-    ],
     &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
     &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
     &quot;volumes&quot;: [
@@ -658,7 +476,7 @@
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case &quot;Revision&quot;.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Revision, including name, namespace, labels, and annotations.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -883,188 +701,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
diff --git a/docs/dyn/run_v1.projects.locations.routes.html b/docs/dyn/run_v1.projects.locations.routes.html
index c948bfb..7478c00 100644
--- a/docs/dyn/run_v1.projects.locations.routes.html
+++ b/docs/dyn/run_v1.projects.locations.routes.html
@@ -107,7 +107,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case always &quot;Route&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Route, including name, namespace, labels, and annotations.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -208,7 +208,7 @@
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call such as &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of this resource, in this case always &quot;Route&quot;.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Route, including name, namespace, labels, and annotations.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
diff --git a/docs/dyn/run_v1.projects.locations.services.html b/docs/dyn/run_v1.projects.locations.services.html
index 9e87c3f..08576e9 100644
--- a/docs/dyn/run_v1.projects.locations.services.html
+++ b/docs/dyn/run_v1.projects.locations.services.html
@@ -120,7 +120,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;Service&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in Service.metadata.annotations. * `run.googleapis.com/base-images` * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` * `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` * `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -154,7 +154,7 @@
   &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Holds the desired state of the Service (from the client).
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -379,188 +379,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
@@ -665,7 +483,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;Service&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in Service.metadata.annotations. * `run.googleapis.com/base-images` * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` * `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` * `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -699,7 +517,7 @@
   &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Holds the desired state of the Service (from the client).
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -924,188 +742,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
@@ -1261,7 +897,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;Service&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in Service.metadata.annotations. * `run.googleapis.com/base-images` * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` * `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` * `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1295,7 +931,7 @@
   &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Holds the desired state of the Service (from the client).
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1520,188 +1156,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
@@ -1870,7 +1324,7 @@
       &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;serving.knative.dev/v1&quot;.
       &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;Service&quot;.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in Service.metadata.annotations. * `run.googleapis.com/base-images` * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` * `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` * `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -1904,7 +1358,7 @@
       &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Holds the desired state of the Service (from the client).
         &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
           &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-            &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+            &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -2129,188 +1583,6 @@
               &quot;a_key&quot;: &quot;A String&quot;,
             },
             &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-            &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-              { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-                &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-                  &quot;A String&quot;,
-                ],
-                &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-                  &quot;A String&quot;,
-                ],
-                &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-                  { # EnvVar represents an environment variable present in a Container.
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                    &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                    &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                      &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                        &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                        &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                        },
-                        &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                        &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                      },
-                      &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                        &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                        &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                          &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                        },
-                        &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                        &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                      },
-                    },
-                  },
-                ],
-                &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-                  { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                    &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                      &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                      },
-                      &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                      &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                    },
-                    &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                    &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                      &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                        &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                      },
-                      &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                      &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                    },
-                  },
-                ],
-                &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-                &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-                &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-                &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-                  { # ContainerPort represents a network port in a single container.
-                    &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                    &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                    &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-                  },
-                ],
-                &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-                  &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                    &quot;a_key&quot;: &quot;A String&quot;,
-                  },
-                  &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                    &quot;a_key&quot;: &quot;A String&quot;,
-                  },
-                },
-                &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-                &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-                  &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-                },
-                &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-                  &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                    &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                      &quot;A String&quot;,
-                    ],
-                  },
-                  &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                  &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                    &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                    &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-                  },
-                  &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                      { # HTTPHeader describes a custom header to be used in HTTP probes
-                        &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                        &quot;value&quot;: &quot;A String&quot;, # The header field value
-                      },
-                    ],
-                    &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                    &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                  },
-                  &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                  &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                  &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-                  &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                    &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                    &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                  },
-                  &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-                },
-                &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-                &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-                &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-                  { # VolumeMount describes a mounting of a Volume within a container.
-                    &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                    &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                    &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-                  },
-                ],
-                &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-              },
-            ],
             &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
             &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
             &quot;volumes&quot;: [
@@ -2427,7 +1699,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;Service&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in Service.metadata.annotations. * `run.googleapis.com/base-images` * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` * `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` * `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -2461,7 +1733,7 @@
   &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Holds the desired state of the Service (from the client).
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -2686,188 +1958,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
@@ -2972,7 +2062,7 @@
   &quot;apiVersion&quot;: &quot;A String&quot;, # The API version for this call. It must be &quot;serving.knative.dev/v1&quot;.
   &quot;kind&quot;: &quot;A String&quot;, # The kind of resource. It must be &quot;Service&quot;.
   &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Metadata associated with this Service, including name, namespace, labels, and annotations. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. The following Cloud Run-specific annotations are accepted in Service.metadata.annotations. * `run.googleapis.com/base-images` * `run.googleapis.com/binary-authorization-breakglass` * `run.googleapis.com/binary-authorization` * `run.googleapis.com/client-name` * `run.googleapis.com/custom-audiences` * `run.googleapis.com/default-url-disabled` * `run.googleapis.com/description` * `run.googleapis.com/gc-traffic-tags` * `run.googleapis.com/ingress` * `run.googleapis.com/ingress` sets the ingress settings for the Service. See [the ingress settings documentation](/run/docs/securing/ingress) for details on configuring ingress settings. * `run.googleapis.com/ingress-status` is output-only and contains the currently active ingress settings for the Service. `run.googleapis.com/ingress-status` may differ from `run.googleapis.com/ingress` while the system is processing a change to `run.googleapis.com/ingress` or if the system failed to process a change to `run.googleapis.com/ingress`. When the system has processed all changes successfully `run.googleapis.com/ingress-status` and `run.googleapis.com/ingress` are equal.
-    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+    &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
       &quot;a_key&quot;: &quot;A String&quot;,
     },
     &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -3006,7 +2096,7 @@
   &quot;spec&quot;: { # ServiceSpec holds the desired state of the Route (from the client), which is used to manipulate the underlying Route and Configuration(s). # Holds the desired state of the Service (from the client).
     &quot;template&quot;: { # RevisionTemplateSpec describes the data a revision should have when created from a template. # Holds the latest specification for the Revision to be stamped out.
       &quot;metadata&quot;: { # google.cloud.run.meta.v1.ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. # Optional metadata for this Revision, including labels and annotations. Name will be generated by the Configuration. The following annotation keys set properties of the created revision: * `autoscaling.knative.dev/minScale` sets the minimum number of instances. * `autoscaling.knative.dev/maxScale` sets the maximum number of instances. * `run.googleapis.com/cloudsql-instances` sets Cloud SQL connections. Multiple values should be comma separated. * `run.googleapis.com/health-check-disabled`: if true, deploy-time startup probes will not run for this revision. * `run.googleapis.com/vpc-access-connector` sets a Serverless VPC Access connector. * `run.googleapis.com/vpc-access-egress` sets VPC egress. Supported values are `all-traffic`, `all` (deprecated), and `private-ranges-only`. `all-traffic` and `all` provide the same functionality. `all` is deprecated but will continue to be supported. Prefer `all-traffic`.
-        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
+        &quot;annotations&quot;: { # Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with &#x27;run.googleapis.com/&#x27; and &#x27;autoscaling.knative.dev&#x27; are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;clusterName&quot;: &quot;A String&quot;, # Not supported by Cloud Run
@@ -3231,188 +2321,6 @@
           &quot;a_key&quot;: &quot;A String&quot;,
         },
         &quot;runtimeClassName&quot;: &quot;A String&quot;, # Optional. Runtime. Leave unset for default.
-        &quot;sandboxes&quot;: [ # Optional. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments may be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided. Variable references are not supported in Cloud Run.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container. EnvVar with duplicate names are generally allowed; if referencing a secret, the name must be unique for the container. For non-secret EnvVar names, the Container will only get the last-declared one.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable.
-                &quot;value&quot;: &quot;A String&quot;, # Value of the environment variable. Defaults to &quot;&quot;. Variable references are not supported in Cloud Run.
-                &quot;valueFrom&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value. Only supports secret_key_ref. Cannot be used if value is not empty.
-                  &quot;configMapKeyRef&quot;: { # Not supported by Cloud Run. # Not supported by Cloud Run. Not supported in Cloud Run.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # Not supported by Cloud Run.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # Required. Not supported by Cloud Run.
-                    &quot;optional&quot;: True or False, # Not supported by Cloud Run.
-                  },
-                  &quot;secretKeyRef&quot;: { # SecretKeySelector selects a key of a Secret. # Selects a key (version) of a secret in Secret Manager.
-                    &quot;key&quot;: &quot;A String&quot;, # Required. A Cloud Secret Manager secret version. Must be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias. The key of the secret to select from. Must be a valid secret key.
-                    &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                      &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                    },
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the secret in Cloud Secret Manager. By default, the secret is assumed to be in the same project. If the secret is in another project, you must define an alias. An alias definition has the form: :projects//secrets/. If multiple alias definitions are needed, they must be separated by commas. The alias definitions must be set on the run.googleapis.com/secrets annotation. The name of the secret in the pod&#x27;s namespace to select from.
-                    &quot;optional&quot;: True or False, # Specify whether the Secret or its key must be defined.
-                  },
-                },
-              },
-            ],
-            &quot;envFrom&quot;: [ # Not supported by Cloud Run.
-              { # Not supported by Cloud Run. EnvFromSource represents the source of a set of ConfigMaps
-                &quot;configMapRef&quot;: { # Not supported by Cloud Run. ConfigMapEnvSource selects a ConfigMap to populate the environment variables with. The contents of the target ConfigMap&#x27;s Data field will represent the key-value pairs as environment variables. # The ConfigMap to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The ConfigMap to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the ConfigMap must be defined.
-                },
-                &quot;prefix&quot;: &quot;A String&quot;, # An optional identifier to prepend to each key in the ConfigMap. Must be a C_IDENTIFIER.
-                &quot;secretRef&quot;: { # Not supported by Cloud Run. SecretEnvSource selects a Secret to populate the environment variables with. The contents of the target Secret&#x27;s Data field will represent the key-value pairs as environment variables. # The Secret to select from
-                  &quot;localObjectReference&quot;: { # Not supported by Cloud Run. LocalObjectReference contains enough information to let you locate the referenced object inside the same namespace. # This field should not be used directly as it is meant to be inlined directly into the message. Use the &quot;name&quot; field instead.
-                    &quot;name&quot;: &quot;A String&quot;, # Name of the referent.
-                  },
-                  &quot;name&quot;: &quot;A String&quot;, # The Secret to select from.
-                  &quot;optional&quot;: True or False, # Specify whether the Secret must be defined
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;imagePullPolicy&quot;: &quot;A String&quot;, # Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. If present, this must be a valid port number, 0 &lt; x &lt; 65536. If not present, it will default to port 8080. For more information, see https://cloud.google.com/run/docs/container-contract#port
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                &quot;protocol&quot;: &quot;A String&quot;, # Protocol for port. Must be &quot;TCP&quot;. Defaults to &quot;TCP&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resources required by this container.
-              &quot;limits&quot;: { # Limits describes the maximum amount of compute resources allowed. Only &#x27;cpu&#x27;, &#x27;memory&#x27; and &#x27;nvidia.com/gpu&#x27; keys are supported. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits. * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;requests&quot;: { # Requests describes the minimum amount of compute resources required. Only `cpu` and `memory` are supported. If Requests is omitted for a container, it defaults to Limits if that is explicitly specified, otherwise to an implementation-defined value. * For supported &#x27;cpu&#x27; values, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;securityContext&quot;: { # Not supported by Cloud Run. SecurityContext holds security configuration that will be applied to a container. Some fields are present in both SecurityContext and PodSecurityContext. When both are set, the values in SecurityContext take precedence. # Not supported by Cloud Run.
-              &quot;runAsUser&quot;: 42, # The UID to run the entrypoint of the container process. Defaults to user specified in image metadata if unspecified. May also be set in PodSecurityContext. If set in both SecurityContext and PodSecurityContext, the value specified in SecurityContext takes precedence.
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not receive traffic if the probe fails. If not provided, a default startup probe with TCP socket action is used.
-              &quot;exec&quot;: { # Not supported by Cloud Run. ExecAction describes a &quot;run in container&quot; action. # Not supported by Cloud Run.
-                &quot;command&quot;: [ # Command is the command line to execute inside the container, the working directory for the command is root (&#x27;/&#x27;) in the container&#x27;s filesystem. The command is simply exec&#x27;d, it is not run inside a shell, so traditional shell instructions (&#x27;|&#x27;, etc) won&#x27;t work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.
-                  &quot;A String&quot;,
-                ],
-              },
-              &quot;failureThreshold&quot;: 42, # Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # GRPCAction specifies an action involving a GRPC port.
-                &quot;port&quot;: 42, # Port number of the gRPC service. Number must be in the range 1 to 65535.
-                &quot;service&quot;: &quot;A String&quot;, # Service is the name of the service to place in the gRPC HealthCheckRequest. If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # HTTPGet specifies the http request to perform.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;httpHeaders&quot;: [ # Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Path to access on the HTTP server.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-                &quot;scheme&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;successThreshold&quot;: 42, # Minimum consecutive successes for the probe to be considered successful after having failed. Must be 1 if set.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # TCPSocket specifies an action involving a TCP port.
-                &quot;host&quot;: &quot;A String&quot;, # Not supported by Cloud Run.
-                &quot;port&quot;: 42, # Port number to access on the container. Number must be in the range 1 to 65535.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds; if period_seconds is not set, must be less or equal than 10.
-            },
-            &quot;terminationMessagePath&quot;: &quot;A String&quot;, # Path at which the file to which the container&#x27;s termination message will be written is mounted into the container&#x27;s filesystem. Message written is intended to be brief final status, such as an assertion failure message. Will be truncated by the node if greater than 4096 bytes. The total message length across all containers will be limited to 12kb. Defaults to /dev/termination-log.
-            &quot;terminationMessagePolicy&quot;: &quot;A String&quot;, # Indicate how the termination message should be populated. File will use the contents of terminationMessagePath to populate the container status message on both success and failure. FallbackToLogsOnError will use the last chunk of container log output if the termination message file is empty and the container exited with an error. The log output is limited to 2048 bytes or 80 lines, whichever is smaller. Defaults to File. Cannot be updated.
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem. Only supports SecretVolumeSources. Pod volumes to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;.
-                &quot;name&quot;: &quot;A String&quot;, # Required. The name of the volume. There must be a corresponding Volume with the same name.
-                &quot;readOnly&quot;: True or False, # Sets the mount to be read-only or read-write. Not used by Cloud Run.
-                &quot;subPath&quot;: &quot;A String&quot;, # Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
         &quot;serviceAccountName&quot;: &quot;A String&quot;, # Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project&#x27;s default service account.
         &quot;timeoutSeconds&quot;: 42, # Optional. TimeoutSeconds holds the max duration the instance is allowed for responding to a request. Cloud Run: defaults to 300 seconds (5 minutes). Maximum allowed value is 3600 seconds (1 hour).
         &quot;volumes&quot;: [
diff --git a/docs/dyn/run_v2.projects.locations.instances.html b/docs/dyn/run_v2.projects.locations.instances.html
index c39b026..dedac33 100644
--- a/docs/dyn/run_v2.projects.locations.instances.html
+++ b/docs/dyn/run_v2.projects.locations.instances.html
@@ -82,10 +82,10 @@
 <p class="firstline">Creates an Instance.</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, etag=None, validateOnly=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Deletes a Instance</p>
+<p class="firstline">Deletes an Instance</p>
 <p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Gets a Instance</p>
+<p class="firstline">Gets an Instance</p>
 <p class="toc_element">
   <code><a href="#getIamPolicy">getIamPolicy(resource, options_requestedPolicyVersion=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets the IAM Access Control policy currently in effect for the given Instance. This result does not include any inherited policies.</p>
@@ -121,7 +121,7 @@
   <pre>Creates an Instance.
 
 Args:
-  parent: string, A parameter (required)
+  parent: string, Required. The location and project in which this Instance should be created. (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -299,26 +299,26 @@
   &quot;description&quot;: &quot;A String&quot;, # User-provided description of the Instance. This field currently has a 512-character limit.
   &quot;encryptionKey&quot;: &quot;A String&quot;, # A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek
   &quot;encryptionKeyRevocationAction&quot;: &quot;A String&quot;, # The action to take if the encryption key is revoked.
-  &quot;encryptionKeyShutdownDuration&quot;: &quot;A String&quot;, # If encryption_key_revocation_action is SHUTDOWN, the duration before shutting down all instances. The minimum increment is 1 hour.
+  &quot;encryptionKeyShutdownDuration&quot;: &quot;A String&quot;, # If `encryption_key_revocation_action` is `SHUTDOWN`, the duration before shutting down all instances. The minimum increment is 1 hour.
   &quot;etag&quot;: &quot;A String&quot;, # Optional. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.
   &quot;expireTime&quot;: &quot;A String&quot;, # Output only. For a deleted resource, the time after which it will be permamently deleted.
-  &quot;generation&quot;: &quot;A String&quot;, # Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
+  &quot;generation&quot;: &quot;A String&quot;, # Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an `int64` value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
   &quot;gpuZonalRedundancyDisabled&quot;: True or False, # Optional. True if GPU zonal redundancy is disabled on this instance.
   &quot;iapEnabled&quot;: True or False, # Optional. IAP settings on the Instance.
-  &quot;ingress&quot;: &quot;A String&quot;, # Optional. Provides the ingress settings for this Instance. On output, returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED if no revision is active.
-  &quot;invokerIamDisabled&quot;: True or False, # Optional. Disables IAM permission check for run.routes.invoke for callers of this Instance. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
+  &quot;ingress&quot;: &quot;A String&quot;, # Optional. Provides the ingress settings for this Instance. On output, returns the currently observed ingress settings, or `INGRESS_TRAFFIC_UNSPECIFIED` if no revision is active.
+  &quot;invokerIamDisabled&quot;: True or False, # Optional. Disables IAM permission check for `run.routes.invoke` for callers of this Instance. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
   &quot;labels&quot;: {
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;lastModifier&quot;: &quot;A String&quot;, # Output only. Email address of the last authenticated modifier.
-  &quot;launchStage&quot;: &quot;A String&quot;, # The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if ALPHA is provided as input, but only BETA and GA-level features are used, this field will be BETA on output.
+  &quot;launchStage&quot;: &quot;A String&quot;, # The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, `GA` is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if `ALPHA` is provided as input, but only `BETA` and `GA`-level features are used, this field will be `BETA` on output.
   &quot;logUri&quot;: &quot;A String&quot;, # Output only. The Google Console URI to obtain logs for the Instance.
-  &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this Instance. In CreateInstanceRequest, this field is ignored, and instead composed from CreateInstanceRequest.parent and CreateInstanceRequest.instance_id. Format: projects/{project}/locations/{location}/instances/{instance_id}
+  &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this Instance. In `CreateInstanceRequest`, this field is ignored, and instead composed from `CreateInstanceRequest.parent` and `CreateInstanceRequest.instance_id`.
   &quot;nodeSelector&quot;: { # Hardware constraints configuration. # Optional. The node selector for the instance.
     &quot;accelerator&quot;: &quot;A String&quot;, # Required. GPU accelerator type to attach to an instance.
   },
-  &quot;observedGeneration&quot;: &quot;A String&quot;, # Output only. The generation of this Instance currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
-  &quot;reconciling&quot;: True or False, # Output only. Returns true if the Instance is currently being acted upon by the system to bring it into the desired state. When a new Instance is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Instance to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation` will have a transient value that might mismatch the intended state. Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Instance, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`.
+  &quot;observedGeneration&quot;: &quot;A String&quot;, # Output only. The generation of this Instance currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an `int64` value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
+  &quot;reconciling&quot;: True or False, # Output only. Returns `true` if the Instance is currently being acted upon by the system to bring it into the desired state. When a new Instance is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Instance to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation` will have a transient value that might mismatch the intended state. Once reconciliation is over (and this field is `false`), there are two possible outcomes: reconciliation succeeded and the serving state matches the Instance, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`.
   &quot;restartPolicy&quot;: &quot;A String&quot;, # Optional. Restart policy for the Instance.
   &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
   &quot;serviceAccount&quot;: &quot;A String&quot;,
@@ -422,10 +422,10 @@
 
 <div class="method">
     <code class="details" id="delete">delete(name, etag=None, validateOnly=None, x__xgafv=None)</code>
-  <pre>Deletes a Instance
+  <pre>Deletes an Instance
 
 Args:
-  name: string, A parameter (required)
+  name: string, Required. The name of the Instance to delete. (required)
   etag: string, Optional. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.
   validateOnly: boolean, Optional. Indicates that the request should be validated without actually deleting any resources.
   x__xgafv: string, V1 error format.
@@ -459,10 +459,10 @@
 
 <div class="method">
     <code class="details" id="get">get(name, x__xgafv=None)</code>
-  <pre>Gets a Instance
+  <pre>Gets an Instance
 
 Args:
-  name: string, A parameter (required)
+  name: string, Required. The name of the Instance to retrieve. (required)
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -645,26 +645,26 @@
   &quot;description&quot;: &quot;A String&quot;, # User-provided description of the Instance. This field currently has a 512-character limit.
   &quot;encryptionKey&quot;: &quot;A String&quot;, # A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek
   &quot;encryptionKeyRevocationAction&quot;: &quot;A String&quot;, # The action to take if the encryption key is revoked.
-  &quot;encryptionKeyShutdownDuration&quot;: &quot;A String&quot;, # If encryption_key_revocation_action is SHUTDOWN, the duration before shutting down all instances. The minimum increment is 1 hour.
+  &quot;encryptionKeyShutdownDuration&quot;: &quot;A String&quot;, # If `encryption_key_revocation_action` is `SHUTDOWN`, the duration before shutting down all instances. The minimum increment is 1 hour.
   &quot;etag&quot;: &quot;A String&quot;, # Optional. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.
   &quot;expireTime&quot;: &quot;A String&quot;, # Output only. For a deleted resource, the time after which it will be permamently deleted.
-  &quot;generation&quot;: &quot;A String&quot;, # Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
+  &quot;generation&quot;: &quot;A String&quot;, # Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an `int64` value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
   &quot;gpuZonalRedundancyDisabled&quot;: True or False, # Optional. True if GPU zonal redundancy is disabled on this instance.
   &quot;iapEnabled&quot;: True or False, # Optional. IAP settings on the Instance.
-  &quot;ingress&quot;: &quot;A String&quot;, # Optional. Provides the ingress settings for this Instance. On output, returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED if no revision is active.
-  &quot;invokerIamDisabled&quot;: True or False, # Optional. Disables IAM permission check for run.routes.invoke for callers of this Instance. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
+  &quot;ingress&quot;: &quot;A String&quot;, # Optional. Provides the ingress settings for this Instance. On output, returns the currently observed ingress settings, or `INGRESS_TRAFFIC_UNSPECIFIED` if no revision is active.
+  &quot;invokerIamDisabled&quot;: True or False, # Optional. Disables IAM permission check for `run.routes.invoke` for callers of this Instance. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
   &quot;labels&quot;: {
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;lastModifier&quot;: &quot;A String&quot;, # Output only. Email address of the last authenticated modifier.
-  &quot;launchStage&quot;: &quot;A String&quot;, # The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if ALPHA is provided as input, but only BETA and GA-level features are used, this field will be BETA on output.
+  &quot;launchStage&quot;: &quot;A String&quot;, # The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, `GA` is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if `ALPHA` is provided as input, but only `BETA` and `GA`-level features are used, this field will be `BETA` on output.
   &quot;logUri&quot;: &quot;A String&quot;, # Output only. The Google Console URI to obtain logs for the Instance.
-  &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this Instance. In CreateInstanceRequest, this field is ignored, and instead composed from CreateInstanceRequest.parent and CreateInstanceRequest.instance_id. Format: projects/{project}/locations/{location}/instances/{instance_id}
+  &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this Instance. In `CreateInstanceRequest`, this field is ignored, and instead composed from `CreateInstanceRequest.parent` and `CreateInstanceRequest.instance_id`.
   &quot;nodeSelector&quot;: { # Hardware constraints configuration. # Optional. The node selector for the instance.
     &quot;accelerator&quot;: &quot;A String&quot;, # Required. GPU accelerator type to attach to an instance.
   },
-  &quot;observedGeneration&quot;: &quot;A String&quot;, # Output only. The generation of this Instance currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
-  &quot;reconciling&quot;: True or False, # Output only. Returns true if the Instance is currently being acted upon by the system to bring it into the desired state. When a new Instance is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Instance to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation` will have a transient value that might mismatch the intended state. Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Instance, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`.
+  &quot;observedGeneration&quot;: &quot;A String&quot;, # Output only. The generation of this Instance currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an `int64` value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
+  &quot;reconciling&quot;: True or False, # Output only. Returns `true` if the Instance is currently being acted upon by the system to bring it into the desired state. When a new Instance is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Instance to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation` will have a transient value that might mismatch the intended state. Once reconciliation is over (and this field is `false`), there are two possible outcomes: reconciliation succeeded and the serving state matches the Instance, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`.
   &quot;restartPolicy&quot;: &quot;A String&quot;, # Optional. Restart policy for the Instance.
   &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
   &quot;serviceAccount&quot;: &quot;A String&quot;,
@@ -789,7 +789,7 @@
   <pre>Lists Instances. Results are sorted by creation time, descending.
 
 Args:
-  parent: string, Required. The location and project to list resources on. Format: projects/{project}/locations/{location}, where {project} can be project id or number. (required)
+  parent: string, Required. The location and project to list resources on. (required)
   pageSize: integer, Optional. Maximum number of Instances to return in this call.
   pageToken: string, Optional. A page token received from a previous call to ListInstances. All other parameters must match.
   showDeleted: boolean, Optional. If true, returns deleted (but unexpired) resources along with active ones.
@@ -977,26 +977,26 @@
       &quot;description&quot;: &quot;A String&quot;, # User-provided description of the Instance. This field currently has a 512-character limit.
       &quot;encryptionKey&quot;: &quot;A String&quot;, # A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek
       &quot;encryptionKeyRevocationAction&quot;: &quot;A String&quot;, # The action to take if the encryption key is revoked.
-      &quot;encryptionKeyShutdownDuration&quot;: &quot;A String&quot;, # If encryption_key_revocation_action is SHUTDOWN, the duration before shutting down all instances. The minimum increment is 1 hour.
+      &quot;encryptionKeyShutdownDuration&quot;: &quot;A String&quot;, # If `encryption_key_revocation_action` is `SHUTDOWN`, the duration before shutting down all instances. The minimum increment is 1 hour.
       &quot;etag&quot;: &quot;A String&quot;, # Optional. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.
       &quot;expireTime&quot;: &quot;A String&quot;, # Output only. For a deleted resource, the time after which it will be permamently deleted.
-      &quot;generation&quot;: &quot;A String&quot;, # Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
+      &quot;generation&quot;: &quot;A String&quot;, # Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an `int64` value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
       &quot;gpuZonalRedundancyDisabled&quot;: True or False, # Optional. True if GPU zonal redundancy is disabled on this instance.
       &quot;iapEnabled&quot;: True or False, # Optional. IAP settings on the Instance.
-      &quot;ingress&quot;: &quot;A String&quot;, # Optional. Provides the ingress settings for this Instance. On output, returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED if no revision is active.
-      &quot;invokerIamDisabled&quot;: True or False, # Optional. Disables IAM permission check for run.routes.invoke for callers of this Instance. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
+      &quot;ingress&quot;: &quot;A String&quot;, # Optional. Provides the ingress settings for this Instance. On output, returns the currently observed ingress settings, or `INGRESS_TRAFFIC_UNSPECIFIED` if no revision is active.
+      &quot;invokerIamDisabled&quot;: True or False, # Optional. Disables IAM permission check for `run.routes.invoke` for callers of this Instance. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
       &quot;labels&quot;: {
         &quot;a_key&quot;: &quot;A String&quot;,
       },
       &quot;lastModifier&quot;: &quot;A String&quot;, # Output only. Email address of the last authenticated modifier.
-      &quot;launchStage&quot;: &quot;A String&quot;, # The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if ALPHA is provided as input, but only BETA and GA-level features are used, this field will be BETA on output.
+      &quot;launchStage&quot;: &quot;A String&quot;, # The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, `GA` is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if `ALPHA` is provided as input, but only `BETA` and `GA`-level features are used, this field will be `BETA` on output.
       &quot;logUri&quot;: &quot;A String&quot;, # Output only. The Google Console URI to obtain logs for the Instance.
-      &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this Instance. In CreateInstanceRequest, this field is ignored, and instead composed from CreateInstanceRequest.parent and CreateInstanceRequest.instance_id. Format: projects/{project}/locations/{location}/instances/{instance_id}
+      &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this Instance. In `CreateInstanceRequest`, this field is ignored, and instead composed from `CreateInstanceRequest.parent` and `CreateInstanceRequest.instance_id`.
       &quot;nodeSelector&quot;: { # Hardware constraints configuration. # Optional. The node selector for the instance.
         &quot;accelerator&quot;: &quot;A String&quot;, # Required. GPU accelerator type to attach to an instance.
       },
-      &quot;observedGeneration&quot;: &quot;A String&quot;, # Output only. The generation of this Instance currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
-      &quot;reconciling&quot;: True or False, # Output only. Returns true if the Instance is currently being acted upon by the system to bring it into the desired state. When a new Instance is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Instance to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation` will have a transient value that might mismatch the intended state. Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Instance, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`.
+      &quot;observedGeneration&quot;: &quot;A String&quot;, # Output only. The generation of this Instance currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an `int64` value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
+      &quot;reconciling&quot;: True or False, # Output only. Returns `true` if the Instance is currently being acted upon by the system to bring it into the desired state. When a new Instance is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Instance to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation` will have a transient value that might mismatch the intended state. Once reconciliation is over (and this field is `false`), there are two possible outcomes: reconciliation succeeded and the serving state matches the Instance, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`.
       &quot;restartPolicy&quot;: &quot;A String&quot;, # Optional. Restart policy for the Instance.
       &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
       &quot;serviceAccount&quot;: &quot;A String&quot;,
@@ -1090,7 +1090,7 @@
   <pre>Updates an Instance.
 
 Args:
-  name: string, The fully qualified name of this Instance. In CreateInstanceRequest, this field is ignored, and instead composed from CreateInstanceRequest.parent and CreateInstanceRequest.instance_id. Format: projects/{project}/locations/{location}/instances/{instance_id} (required)
+  name: string, The fully qualified name of this Instance. In `CreateInstanceRequest`, this field is ignored, and instead composed from `CreateInstanceRequest.parent` and `CreateInstanceRequest.instance_id`. (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -1268,26 +1268,26 @@
   &quot;description&quot;: &quot;A String&quot;, # User-provided description of the Instance. This field currently has a 512-character limit.
   &quot;encryptionKey&quot;: &quot;A String&quot;, # A reference to a customer managed encryption key (CMEK) to use to encrypt this container image. For more information, go to https://cloud.google.com/run/docs/securing/using-cmek
   &quot;encryptionKeyRevocationAction&quot;: &quot;A String&quot;, # The action to take if the encryption key is revoked.
-  &quot;encryptionKeyShutdownDuration&quot;: &quot;A String&quot;, # If encryption_key_revocation_action is SHUTDOWN, the duration before shutting down all instances. The minimum increment is 1 hour.
+  &quot;encryptionKeyShutdownDuration&quot;: &quot;A String&quot;, # If `encryption_key_revocation_action` is `SHUTDOWN`, the duration before shutting down all instances. The minimum increment is 1 hour.
   &quot;etag&quot;: &quot;A String&quot;, # Optional. A system-generated fingerprint for this version of the resource. May be used to detect modification conflict during updates.
   &quot;expireTime&quot;: &quot;A String&quot;, # Output only. For a deleted resource, the time after which it will be permamently deleted.
-  &quot;generation&quot;: &quot;A String&quot;, # Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
+  &quot;generation&quot;: &quot;A String&quot;, # Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an `int64` value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
   &quot;gpuZonalRedundancyDisabled&quot;: True or False, # Optional. True if GPU zonal redundancy is disabled on this instance.
   &quot;iapEnabled&quot;: True or False, # Optional. IAP settings on the Instance.
-  &quot;ingress&quot;: &quot;A String&quot;, # Optional. Provides the ingress settings for this Instance. On output, returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED if no revision is active.
-  &quot;invokerIamDisabled&quot;: True or False, # Optional. Disables IAM permission check for run.routes.invoke for callers of this Instance. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
+  &quot;ingress&quot;: &quot;A String&quot;, # Optional. Provides the ingress settings for this Instance. On output, returns the currently observed ingress settings, or `INGRESS_TRAFFIC_UNSPECIFIED` if no revision is active.
+  &quot;invokerIamDisabled&quot;: True or False, # Optional. Disables IAM permission check for `run.routes.invoke` for callers of this Instance. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.
   &quot;labels&quot;: {
     &quot;a_key&quot;: &quot;A String&quot;,
   },
   &quot;lastModifier&quot;: &quot;A String&quot;, # Output only. Email address of the last authenticated modifier.
-  &quot;launchStage&quot;: &quot;A String&quot;, # The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if ALPHA is provided as input, but only BETA and GA-level features are used, this field will be BETA on output.
+  &quot;launchStage&quot;: &quot;A String&quot;, # The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, `GA` is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if `ALPHA` is provided as input, but only `BETA` and `GA`-level features are used, this field will be `BETA` on output.
   &quot;logUri&quot;: &quot;A String&quot;, # Output only. The Google Console URI to obtain logs for the Instance.
-  &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this Instance. In CreateInstanceRequest, this field is ignored, and instead composed from CreateInstanceRequest.parent and CreateInstanceRequest.instance_id. Format: projects/{project}/locations/{location}/instances/{instance_id}
+  &quot;name&quot;: &quot;A String&quot;, # The fully qualified name of this Instance. In `CreateInstanceRequest`, this field is ignored, and instead composed from `CreateInstanceRequest.parent` and `CreateInstanceRequest.instance_id`.
   &quot;nodeSelector&quot;: { # Hardware constraints configuration. # Optional. The node selector for the instance.
     &quot;accelerator&quot;: &quot;A String&quot;, # Required. GPU accelerator type to attach to an instance.
   },
-  &quot;observedGeneration&quot;: &quot;A String&quot;, # Output only. The generation of this Instance currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
-  &quot;reconciling&quot;: True or False, # Output only. Returns true if the Instance is currently being acted upon by the system to bring it into the desired state. When a new Instance is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Instance to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation` will have a transient value that might mismatch the intended state. Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Instance, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`.
+  &quot;observedGeneration&quot;: &quot;A String&quot;, # Output only. The generation of this Instance currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an `int64` value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.
+  &quot;reconciling&quot;: True or False, # Output only. Returns `true` if the Instance is currently being acted upon by the system to bring it into the desired state. When a new Instance is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Instance to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation` will have a transient value that might mismatch the intended state. Once reconciliation is over (and this field is `false`), there are two possible outcomes: reconciliation succeeded and the serving state matches the Instance, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`.
   &quot;restartPolicy&quot;: &quot;A String&quot;, # Optional. Restart policy for the Instance.
   &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
   &quot;serviceAccount&quot;: &quot;A String&quot;,
@@ -1358,7 +1358,7 @@
   },
 }
 
-  allowMissing: boolean, Optional. If set to true, and if the Instance does not exist, it will create a new one. The caller must have &#x27;run.instances.create&#x27; permissions if this is set to true and the Instance does not exist.
+  allowMissing: boolean, Optional. If set to `true`, and if the Instance does not exist, it will create a new one. The caller must have `run.instances.create` permissions if this is set to `true` and the Instance does not exist.
   updateMask: string, Optional. The list of fields to be updated.
   validateOnly: boolean, Optional. Indicates that the request should be validated and default values populated, without persisting the request or updating any resources.
   x__xgafv: string, V1 error format.
@@ -1480,7 +1480,7 @@
   <pre>Starts an Instance.
 
 Args:
-  name: string, Required. The name of the Instance to stop. Format: `projects/{project}/locations/{location}/instances/{instance}`, where `{project}` can be project id or number. (required)
+  name: string, Required. The name of the Instance to start. (required)
   body: object, The request body.
     The object takes the form of:
 
@@ -1523,7 +1523,7 @@
   <pre>Stops an Instance.
 
 Args:
-  name: string, Required. The name of the Instance to stop. Format: `projects/{project}/locations/{location}/instances/{instance}`, where `{project}` can be project id or number. (required)
+  name: string, Required. The name of the Instance to stop. (required)
   body: object, The request body.
     The object takes the form of:
 
diff --git a/docs/dyn/run_v2.projects.locations.services.html b/docs/dyn/run_v2.projects.locations.services.html
index 8b577a7..bce54eb 100644
--- a/docs/dyn/run_v2.projects.locations.services.html
+++ b/docs/dyn/run_v2.projects.locations.services.html
@@ -355,146 +355,6 @@
       &quot;accelerator&quot;: &quot;A String&quot;, # Required. GPU accelerator type to attach to an instance.
     },
     &quot;revision&quot;: &quot;A String&quot;, # Optional. The unique name for the revision. If this field is omitted, it will be automatically generated based on the Service name.
-    &quot;sandboxes&quot;: { # Configuration for sandboxes. # Optional. Configuration for sandboxes.
-      &quot;templates&quot;: [ # Required. Container templates that can be launched through the `sandbox` CLI.
-        { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime.
-          &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided.
-            &quot;A String&quot;,
-          ],
-          &quot;baseImageUri&quot;: &quot;A String&quot;, # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update.
-          &quot;buildInfo&quot;: { # Build information of the image. # Output only. The build info of the container image.
-            &quot;functionTarget&quot;: &quot;A String&quot;, # Output only. Entry point of the function when the image is a Cloud Run function.
-            &quot;sourceLocation&quot;: &quot;A String&quot;, # Output only. Source code location of the image.
-          },
-          &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided.
-            &quot;A String&quot;,
-          ],
-          &quot;dependsOn&quot;: [ # Names of the containers that must start before this container.
-            &quot;A String&quot;,
-          ],
-          &quot;env&quot;: [ # List of environment variables to set in the container.
-            { # EnvVar represents an environment variable present in a Container.
-              &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable. Must not exceed 32768 characters.
-              &quot;value&quot;: &quot;A String&quot;, # Literal value of the environment variable. Defaults to &quot;&quot;, and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run.
-              &quot;valueSource&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value.
-                &quot;secretKeyRef&quot;: { # SecretEnvVarSource represents a source for the value of an EnvVar. # Selects a secret and a specific version from Cloud Secret Manager.
-                  &quot;secret&quot;: &quot;A String&quot;, # Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.
-                  &quot;version&quot;: &quot;A String&quot;, # The Cloud Secret Manager secret version. Can be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias.
-                },
-              },
-            },
-          ],
-          &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-          &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-            &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-            &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-            },
-            &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                { # HTTPHeader describes a custom header to be used in HTTP probes
-                  &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                  &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                },
-              ],
-              &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-            &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-            &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-          },
-          &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-          &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-            { # ContainerPort represents a network port in a single container.
-              &quot;containerPort&quot;: 42, # Port number the container listens on. This must be a valid TCP port number, 0 &lt; container_port &lt; 65536.
-              &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-            },
-          ],
-          &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-            &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-            &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-            },
-            &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                { # HTTPHeader describes a custom header to be used in HTTP probes
-                  &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                  &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                },
-              ],
-              &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-            &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-            &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-          },
-          &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resource requirements by this container.
-            &quot;cpuIdle&quot;: True or False, # Determines whether CPU is only allocated during requests (true by default). However, if ResourceRequirements is set, the caller must explicitly set this field to true to preserve the default behavior.
-            &quot;limits&quot;: { # Only `memory`, `cpu` and `nvidia.com/gpu` keys in the map are supported. Notes: * The only supported values for CPU are &#x27;1&#x27;, &#x27;2&#x27;, &#x27;4&#x27;, and &#x27;8&#x27;. Setting 4 CPU requires at least 2Gi of memory. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-              &quot;a_key&quot;: &quot;A String&quot;,
-            },
-            &quot;startupCpuBoost&quot;: True or False, # Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.
-          },
-          &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-          &quot;sourceCode&quot;: { # Source type for the container. # Optional. Location of the source.
-            &quot;cloudStorageSource&quot;: { # Cloud Storage source. # The source is a Cloud Storage bucket.
-              &quot;bucket&quot;: &quot;A String&quot;, # Required. The Cloud Storage bucket name.
-              &quot;generation&quot;: &quot;A String&quot;, # Optional. The Cloud Storage object generation.
-              &quot;object&quot;: &quot;A String&quot;, # Required. The Cloud Storage object name.
-            },
-            &quot;inlinedSource&quot;: { # Inlined source. # Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source.
-              &quot;sources&quot;: [ # Required. Input only. The source code.
-                { # Source file.
-                  &quot;content&quot;: &quot;A String&quot;, # Required. Input only. Represents the exact, literal, and complete source code of the file. Placeholders like `...` or comments such as `# [rest of code]` should NEVER be used as omission. Every character in this field will be built into the final container. Any omission will result in a broken application.
-                  &quot;filename&quot;: &quot;A String&quot;, # Required. Input only. The file name for the source code. e.g., `&quot;index.js&quot;` or `&quot;node_modules/dependency.js&quot;`. The filename must be less than 255 characters and cannot contain `..`, `./`, `//`, or end with a `/`. Cloud Run will place the files in the container subdirectories, please use relative path to access the file.
-                },
-              ],
-            },
-          },
-          &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails.
-            &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-            &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-            },
-            &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                { # HTTPHeader describes a custom header to be used in HTTP probes
-                  &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                  &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                },
-              ],
-              &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-            &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-            &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-          },
-          &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem.
-            { # VolumeMount describes a mounting of a Volume within a container.
-              &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;. For Cloud SQL volumes, it can be left empty, or must otherwise be `/cloudsql`. All instances defined in the Volume will be available as `/cloudsql/[instance]`. For more information on Cloud SQL volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run
-              &quot;name&quot;: &quot;A String&quot;, # Required. This must match the Name of a Volume.
-              &quot;subPath&quot;: &quot;A String&quot;, # Optional. Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-            },
-          ],
-          &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-        },
-      ],
-    },
     &quot;scaling&quot;: { # Settings for revision-level scaling settings. # Optional. Scaling settings for this Revision.
       &quot;concurrencyUtilization&quot;: 3.14, # Optional. Determines a threshold for concurrency utilization before scaling begins. Accepted values are between `0.1` and `0.95` (inclusive) or `0.0` to disable concurrency utilization as threshold for scaling. CPU and concurrency scaling cannot both be disabled.
       &quot;cpuUtilization&quot;: 3.14, # Optional. Determines a threshold for CPU utilization before scaling begins. Accepted values are between `0.1` and `0.95` (inclusive) or `0.0` to disable CPU utilization as threshold for scaling. CPU and concurrency scaling cannot both be disabled.
@@ -907,146 +767,6 @@
       &quot;accelerator&quot;: &quot;A String&quot;, # Required. GPU accelerator type to attach to an instance.
     },
     &quot;revision&quot;: &quot;A String&quot;, # Optional. The unique name for the revision. If this field is omitted, it will be automatically generated based on the Service name.
-    &quot;sandboxes&quot;: { # Configuration for sandboxes. # Optional. Configuration for sandboxes.
-      &quot;templates&quot;: [ # Required. Container templates that can be launched through the `sandbox` CLI.
-        { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime.
-          &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided.
-            &quot;A String&quot;,
-          ],
-          &quot;baseImageUri&quot;: &quot;A String&quot;, # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update.
-          &quot;buildInfo&quot;: { # Build information of the image. # Output only. The build info of the container image.
-            &quot;functionTarget&quot;: &quot;A String&quot;, # Output only. Entry point of the function when the image is a Cloud Run function.
-            &quot;sourceLocation&quot;: &quot;A String&quot;, # Output only. Source code location of the image.
-          },
-          &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided.
-            &quot;A String&quot;,
-          ],
-          &quot;dependsOn&quot;: [ # Names of the containers that must start before this container.
-            &quot;A String&quot;,
-          ],
-          &quot;env&quot;: [ # List of environment variables to set in the container.
-            { # EnvVar represents an environment variable present in a Container.
-              &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable. Must not exceed 32768 characters.
-              &quot;value&quot;: &quot;A String&quot;, # Literal value of the environment variable. Defaults to &quot;&quot;, and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run.
-              &quot;valueSource&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value.
-                &quot;secretKeyRef&quot;: { # SecretEnvVarSource represents a source for the value of an EnvVar. # Selects a secret and a specific version from Cloud Secret Manager.
-                  &quot;secret&quot;: &quot;A String&quot;, # Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.
-                  &quot;version&quot;: &quot;A String&quot;, # The Cloud Secret Manager secret version. Can be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias.
-                },
-              },
-            },
-          ],
-          &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-          &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-            &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-            &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-            },
-            &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                { # HTTPHeader describes a custom header to be used in HTTP probes
-                  &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                  &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                },
-              ],
-              &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-            &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-            &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-          },
-          &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-          &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-            { # ContainerPort represents a network port in a single container.
-              &quot;containerPort&quot;: 42, # Port number the container listens on. This must be a valid TCP port number, 0 &lt; container_port &lt; 65536.
-              &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-            },
-          ],
-          &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-            &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-            &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-            },
-            &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                { # HTTPHeader describes a custom header to be used in HTTP probes
-                  &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                  &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                },
-              ],
-              &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-            &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-            &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-          },
-          &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resource requirements by this container.
-            &quot;cpuIdle&quot;: True or False, # Determines whether CPU is only allocated during requests (true by default). However, if ResourceRequirements is set, the caller must explicitly set this field to true to preserve the default behavior.
-            &quot;limits&quot;: { # Only `memory`, `cpu` and `nvidia.com/gpu` keys in the map are supported. Notes: * The only supported values for CPU are &#x27;1&#x27;, &#x27;2&#x27;, &#x27;4&#x27;, and &#x27;8&#x27;. Setting 4 CPU requires at least 2Gi of memory. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-              &quot;a_key&quot;: &quot;A String&quot;,
-            },
-            &quot;startupCpuBoost&quot;: True or False, # Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.
-          },
-          &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-          &quot;sourceCode&quot;: { # Source type for the container. # Optional. Location of the source.
-            &quot;cloudStorageSource&quot;: { # Cloud Storage source. # The source is a Cloud Storage bucket.
-              &quot;bucket&quot;: &quot;A String&quot;, # Required. The Cloud Storage bucket name.
-              &quot;generation&quot;: &quot;A String&quot;, # Optional. The Cloud Storage object generation.
-              &quot;object&quot;: &quot;A String&quot;, # Required. The Cloud Storage object name.
-            },
-            &quot;inlinedSource&quot;: { # Inlined source. # Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source.
-              &quot;sources&quot;: [ # Required. Input only. The source code.
-                { # Source file.
-                  &quot;content&quot;: &quot;A String&quot;, # Required. Input only. Represents the exact, literal, and complete source code of the file. Placeholders like `...` or comments such as `# [rest of code]` should NEVER be used as omission. Every character in this field will be built into the final container. Any omission will result in a broken application.
-                  &quot;filename&quot;: &quot;A String&quot;, # Required. Input only. The file name for the source code. e.g., `&quot;index.js&quot;` or `&quot;node_modules/dependency.js&quot;`. The filename must be less than 255 characters and cannot contain `..`, `./`, `//`, or end with a `/`. Cloud Run will place the files in the container subdirectories, please use relative path to access the file.
-                },
-              ],
-            },
-          },
-          &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails.
-            &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-            &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-            },
-            &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                { # HTTPHeader describes a custom header to be used in HTTP probes
-                  &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                  &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                },
-              ],
-              &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-            &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-            &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-          },
-          &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem.
-            { # VolumeMount describes a mounting of a Volume within a container.
-              &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;. For Cloud SQL volumes, it can be left empty, or must otherwise be `/cloudsql`. All instances defined in the Volume will be available as `/cloudsql/[instance]`. For more information on Cloud SQL volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run
-              &quot;name&quot;: &quot;A String&quot;, # Required. This must match the Name of a Volume.
-              &quot;subPath&quot;: &quot;A String&quot;, # Optional. Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-            },
-          ],
-          &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-        },
-      ],
-    },
     &quot;scaling&quot;: { # Settings for revision-level scaling settings. # Optional. Scaling settings for this Revision.
       &quot;concurrencyUtilization&quot;: 3.14, # Optional. Determines a threshold for concurrency utilization before scaling begins. Accepted values are between `0.1` and `0.95` (inclusive) or `0.0` to disable concurrency utilization as threshold for scaling. CPU and concurrency scaling cannot both be disabled.
       &quot;cpuUtilization&quot;: 3.14, # Optional. Determines a threshold for CPU utilization before scaling begins. Accepted values are between `0.1` and `0.95` (inclusive) or `0.0` to disable CPU utilization as threshold for scaling. CPU and concurrency scaling cannot both be disabled.
@@ -1446,146 +1166,6 @@
           &quot;accelerator&quot;: &quot;A String&quot;, # Required. GPU accelerator type to attach to an instance.
         },
         &quot;revision&quot;: &quot;A String&quot;, # Optional. The unique name for the revision. If this field is omitted, it will be automatically generated based on the Service name.
-        &quot;sandboxes&quot;: { # Configuration for sandboxes. # Optional. Configuration for sandboxes.
-          &quot;templates&quot;: [ # Required. Container templates that can be launched through the `sandbox` CLI.
-            { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime.
-              &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided.
-                &quot;A String&quot;,
-              ],
-              &quot;baseImageUri&quot;: &quot;A String&quot;, # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update.
-              &quot;buildInfo&quot;: { # Build information of the image. # Output only. The build info of the container image.
-                &quot;functionTarget&quot;: &quot;A String&quot;, # Output only. Entry point of the function when the image is a Cloud Run function.
-                &quot;sourceLocation&quot;: &quot;A String&quot;, # Output only. Source code location of the image.
-              },
-              &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided.
-                &quot;A String&quot;,
-              ],
-              &quot;dependsOn&quot;: [ # Names of the containers that must start before this container.
-                &quot;A String&quot;,
-              ],
-              &quot;env&quot;: [ # List of environment variables to set in the container.
-                { # EnvVar represents an environment variable present in a Container.
-                  &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable. Must not exceed 32768 characters.
-                  &quot;value&quot;: &quot;A String&quot;, # Literal value of the environment variable. Defaults to &quot;&quot;, and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run.
-                  &quot;valueSource&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value.
-                    &quot;secretKeyRef&quot;: { # SecretEnvVarSource represents a source for the value of an EnvVar. # Selects a secret and a specific version from Cloud Secret Manager.
-                      &quot;secret&quot;: &quot;A String&quot;, # Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.
-                      &quot;version&quot;: &quot;A String&quot;, # The Cloud Secret Manager secret version. Can be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias.
-                    },
-                  },
-                },
-              ],
-              &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-              &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-                &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                  &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                  &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-                },
-                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                  &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                    { # HTTPHeader describes a custom header to be used in HTTP probes
-                      &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                      &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                    },
-                  ],
-                  &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-                  &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                },
-                &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                  &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                },
-                &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-              },
-              &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-              &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-                { # ContainerPort represents a network port in a single container.
-                  &quot;containerPort&quot;: 42, # Port number the container listens on. This must be a valid TCP port number, 0 &lt; container_port &lt; 65536.
-                  &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-                },
-              ],
-              &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-                &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                  &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                  &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-                },
-                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                  &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                    { # HTTPHeader describes a custom header to be used in HTTP probes
-                      &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                      &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                    },
-                  ],
-                  &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-                  &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                },
-                &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                  &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                },
-                &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-              },
-              &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resource requirements by this container.
-                &quot;cpuIdle&quot;: True or False, # Determines whether CPU is only allocated during requests (true by default). However, if ResourceRequirements is set, the caller must explicitly set this field to true to preserve the default behavior.
-                &quot;limits&quot;: { # Only `memory`, `cpu` and `nvidia.com/gpu` keys in the map are supported. Notes: * The only supported values for CPU are &#x27;1&#x27;, &#x27;2&#x27;, &#x27;4&#x27;, and &#x27;8&#x27;. Setting 4 CPU requires at least 2Gi of memory. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                  &quot;a_key&quot;: &quot;A String&quot;,
-                },
-                &quot;startupCpuBoost&quot;: True or False, # Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.
-              },
-              &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-              &quot;sourceCode&quot;: { # Source type for the container. # Optional. Location of the source.
-                &quot;cloudStorageSource&quot;: { # Cloud Storage source. # The source is a Cloud Storage bucket.
-                  &quot;bucket&quot;: &quot;A String&quot;, # Required. The Cloud Storage bucket name.
-                  &quot;generation&quot;: &quot;A String&quot;, # Optional. The Cloud Storage object generation.
-                  &quot;object&quot;: &quot;A String&quot;, # Required. The Cloud Storage object name.
-                },
-                &quot;inlinedSource&quot;: { # Inlined source. # Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source.
-                  &quot;sources&quot;: [ # Required. Input only. The source code.
-                    { # Source file.
-                      &quot;content&quot;: &quot;A String&quot;, # Required. Input only. Represents the exact, literal, and complete source code of the file. Placeholders like `...` or comments such as `# [rest of code]` should NEVER be used as omission. Every character in this field will be built into the final container. Any omission will result in a broken application.
-                      &quot;filename&quot;: &quot;A String&quot;, # Required. Input only. The file name for the source code. e.g., `&quot;index.js&quot;` or `&quot;node_modules/dependency.js&quot;`. The filename must be less than 255 characters and cannot contain `..`, `./`, `//`, or end with a `/`. Cloud Run will place the files in the container subdirectories, please use relative path to access the file.
-                    },
-                  ],
-                },
-              },
-              &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails.
-                &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-                &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                  &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                  &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-                },
-                &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                  &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                    { # HTTPHeader describes a custom header to be used in HTTP probes
-                      &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                      &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                    },
-                  ],
-                  &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-                  &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                },
-                &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-                &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-                &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                  &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                },
-                &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-              },
-              &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem.
-                { # VolumeMount describes a mounting of a Volume within a container.
-                  &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;. For Cloud SQL volumes, it can be left empty, or must otherwise be `/cloudsql`. All instances defined in the Volume will be available as `/cloudsql/[instance]`. For more information on Cloud SQL volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run
-                  &quot;name&quot;: &quot;A String&quot;, # Required. This must match the Name of a Volume.
-                  &quot;subPath&quot;: &quot;A String&quot;, # Optional. Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-                },
-              ],
-              &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-            },
-          ],
-        },
         &quot;scaling&quot;: { # Settings for revision-level scaling settings. # Optional. Scaling settings for this Revision.
           &quot;concurrencyUtilization&quot;: 3.14, # Optional. Determines a threshold for concurrency utilization before scaling begins. Accepted values are between `0.1` and `0.95` (inclusive) or `0.0` to disable concurrency utilization as threshold for scaling. CPU and concurrency scaling cannot both be disabled.
           &quot;cpuUtilization&quot;: 3.14, # Optional. Determines a threshold for CPU utilization before scaling begins. Accepted values are between `0.1` and `0.95` (inclusive) or `0.0` to disable CPU utilization as threshold for scaling. CPU and concurrency scaling cannot both be disabled.
@@ -1945,146 +1525,6 @@
       &quot;accelerator&quot;: &quot;A String&quot;, # Required. GPU accelerator type to attach to an instance.
     },
     &quot;revision&quot;: &quot;A String&quot;, # Optional. The unique name for the revision. If this field is omitted, it will be automatically generated based on the Service name.
-    &quot;sandboxes&quot;: { # Configuration for sandboxes. # Optional. Configuration for sandboxes.
-      &quot;templates&quot;: [ # Required. Container templates that can be launched through the `sandbox` CLI.
-        { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime.
-          &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided.
-            &quot;A String&quot;,
-          ],
-          &quot;baseImageUri&quot;: &quot;A String&quot;, # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update.
-          &quot;buildInfo&quot;: { # Build information of the image. # Output only. The build info of the container image.
-            &quot;functionTarget&quot;: &quot;A String&quot;, # Output only. Entry point of the function when the image is a Cloud Run function.
-            &quot;sourceLocation&quot;: &quot;A String&quot;, # Output only. Source code location of the image.
-          },
-          &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided.
-            &quot;A String&quot;,
-          ],
-          &quot;dependsOn&quot;: [ # Names of the containers that must start before this container.
-            &quot;A String&quot;,
-          ],
-          &quot;env&quot;: [ # List of environment variables to set in the container.
-            { # EnvVar represents an environment variable present in a Container.
-              &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable. Must not exceed 32768 characters.
-              &quot;value&quot;: &quot;A String&quot;, # Literal value of the environment variable. Defaults to &quot;&quot;, and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run.
-              &quot;valueSource&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value.
-                &quot;secretKeyRef&quot;: { # SecretEnvVarSource represents a source for the value of an EnvVar. # Selects a secret and a specific version from Cloud Secret Manager.
-                  &quot;secret&quot;: &quot;A String&quot;, # Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.
-                  &quot;version&quot;: &quot;A String&quot;, # The Cloud Secret Manager secret version. Can be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias.
-                },
-              },
-            },
-          ],
-          &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-          &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-            &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-            &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-            },
-            &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                { # HTTPHeader describes a custom header to be used in HTTP probes
-                  &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                  &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                },
-              ],
-              &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-            &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-            &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-          },
-          &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-          &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-            { # ContainerPort represents a network port in a single container.
-              &quot;containerPort&quot;: 42, # Port number the container listens on. This must be a valid TCP port number, 0 &lt; container_port &lt; 65536.
-              &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-            },
-          ],
-          &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-            &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-            &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-            },
-            &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                { # HTTPHeader describes a custom header to be used in HTTP probes
-                  &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                  &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                },
-              ],
-              &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-            &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-            &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-          },
-          &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resource requirements by this container.
-            &quot;cpuIdle&quot;: True or False, # Determines whether CPU is only allocated during requests (true by default). However, if ResourceRequirements is set, the caller must explicitly set this field to true to preserve the default behavior.
-            &quot;limits&quot;: { # Only `memory`, `cpu` and `nvidia.com/gpu` keys in the map are supported. Notes: * The only supported values for CPU are &#x27;1&#x27;, &#x27;2&#x27;, &#x27;4&#x27;, and &#x27;8&#x27;. Setting 4 CPU requires at least 2Gi of memory. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-              &quot;a_key&quot;: &quot;A String&quot;,
-            },
-            &quot;startupCpuBoost&quot;: True or False, # Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.
-          },
-          &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-          &quot;sourceCode&quot;: { # Source type for the container. # Optional. Location of the source.
-            &quot;cloudStorageSource&quot;: { # Cloud Storage source. # The source is a Cloud Storage bucket.
-              &quot;bucket&quot;: &quot;A String&quot;, # Required. The Cloud Storage bucket name.
-              &quot;generation&quot;: &quot;A String&quot;, # Optional. The Cloud Storage object generation.
-              &quot;object&quot;: &quot;A String&quot;, # Required. The Cloud Storage object name.
-            },
-            &quot;inlinedSource&quot;: { # Inlined source. # Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source.
-              &quot;sources&quot;: [ # Required. Input only. The source code.
-                { # Source file.
-                  &quot;content&quot;: &quot;A String&quot;, # Required. Input only. Represents the exact, literal, and complete source code of the file. Placeholders like `...` or comments such as `# [rest of code]` should NEVER be used as omission. Every character in this field will be built into the final container. Any omission will result in a broken application.
-                  &quot;filename&quot;: &quot;A String&quot;, # Required. Input only. The file name for the source code. e.g., `&quot;index.js&quot;` or `&quot;node_modules/dependency.js&quot;`. The filename must be less than 255 characters and cannot contain `..`, `./`, `//`, or end with a `/`. Cloud Run will place the files in the container subdirectories, please use relative path to access the file.
-                },
-              ],
-            },
-          },
-          &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails.
-            &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-            &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-            },
-            &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                { # HTTPHeader describes a custom header to be used in HTTP probes
-                  &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                  &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                },
-              ],
-              &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-            &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-            &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-              &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            },
-            &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-          },
-          &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem.
-            { # VolumeMount describes a mounting of a Volume within a container.
-              &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;. For Cloud SQL volumes, it can be left empty, or must otherwise be `/cloudsql`. All instances defined in the Volume will be available as `/cloudsql/[instance]`. For more information on Cloud SQL volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run
-              &quot;name&quot;: &quot;A String&quot;, # Required. This must match the Name of a Volume.
-              &quot;subPath&quot;: &quot;A String&quot;, # Optional. Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-            },
-          ],
-          &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-        },
-      ],
-    },
     &quot;scaling&quot;: { # Settings for revision-level scaling settings. # Optional. Scaling settings for this Revision.
       &quot;concurrencyUtilization&quot;: 3.14, # Optional. Determines a threshold for concurrency utilization before scaling begins. Accepted values are between `0.1` and `0.95` (inclusive) or `0.0` to disable concurrency utilization as threshold for scaling. CPU and concurrency scaling cannot both be disabled.
       &quot;cpuUtilization&quot;: 3.14, # Optional. Determines a threshold for CPU utilization before scaling begins. Accepted values are between `0.1` and `0.95` (inclusive) or `0.0` to disable CPU utilization as threshold for scaling. CPU and concurrency scaling cannot both be disabled.
diff --git a/docs/dyn/run_v2.projects.locations.services.revisions.html b/docs/dyn/run_v2.projects.locations.services.revisions.html
index ebf2d27..e0281b8 100644
--- a/docs/dyn/run_v2.projects.locations.services.revisions.html
+++ b/docs/dyn/run_v2.projects.locations.services.revisions.html
@@ -364,146 +364,6 @@
   },
   &quot;observedGeneration&quot;: &quot;A String&quot;, # Output only. The generation of this Revision currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.
   &quot;reconciling&quot;: True or False, # Output only. Indicates whether the resource&#x27;s reconciliation is still in progress. See comments in `Service.reconciling` for additional information on reconciliation process in Cloud Run.
-  &quot;sandboxes&quot;: { # Configuration for sandboxes. # Output only. Configuration for sandboxes.
-    &quot;templates&quot;: [ # Required. Container templates that can be launched through the `sandbox` CLI.
-      { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime.
-        &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided.
-          &quot;A String&quot;,
-        ],
-        &quot;baseImageUri&quot;: &quot;A String&quot;, # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update.
-        &quot;buildInfo&quot;: { # Build information of the image. # Output only. The build info of the container image.
-          &quot;functionTarget&quot;: &quot;A String&quot;, # Output only. Entry point of the function when the image is a Cloud Run function.
-          &quot;sourceLocation&quot;: &quot;A String&quot;, # Output only. Source code location of the image.
-        },
-        &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided.
-          &quot;A String&quot;,
-        ],
-        &quot;dependsOn&quot;: [ # Names of the containers that must start before this container.
-          &quot;A String&quot;,
-        ],
-        &quot;env&quot;: [ # List of environment variables to set in the container.
-          { # EnvVar represents an environment variable present in a Container.
-            &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable. Must not exceed 32768 characters.
-            &quot;value&quot;: &quot;A String&quot;, # Literal value of the environment variable. Defaults to &quot;&quot;, and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run.
-            &quot;valueSource&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value.
-              &quot;secretKeyRef&quot;: { # SecretEnvVarSource represents a source for the value of an EnvVar. # Selects a secret and a specific version from Cloud Secret Manager.
-                &quot;secret&quot;: &quot;A String&quot;, # Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.
-                &quot;version&quot;: &quot;A String&quot;, # The Cloud Secret Manager secret version. Can be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias.
-              },
-            },
-          },
-        ],
-        &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-        &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-          &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-          &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-          },
-          &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-              { # HTTPHeader describes a custom header to be used in HTTP probes
-                &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-              },
-            ],
-            &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-            &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-          },
-          &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-          &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-          &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-          },
-          &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-        },
-        &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-        &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-          { # ContainerPort represents a network port in a single container.
-            &quot;containerPort&quot;: 42, # Port number the container listens on. This must be a valid TCP port number, 0 &lt; container_port &lt; 65536.
-            &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-          },
-        ],
-        &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-          &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-          &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-          },
-          &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-              { # HTTPHeader describes a custom header to be used in HTTP probes
-                &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-              },
-            ],
-            &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-            &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-          },
-          &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-          &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-          &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-          },
-          &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-        },
-        &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resource requirements by this container.
-          &quot;cpuIdle&quot;: True or False, # Determines whether CPU is only allocated during requests (true by default). However, if ResourceRequirements is set, the caller must explicitly set this field to true to preserve the default behavior.
-          &quot;limits&quot;: { # Only `memory`, `cpu` and `nvidia.com/gpu` keys in the map are supported. Notes: * The only supported values for CPU are &#x27;1&#x27;, &#x27;2&#x27;, &#x27;4&#x27;, and &#x27;8&#x27;. Setting 4 CPU requires at least 2Gi of memory. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-            &quot;a_key&quot;: &quot;A String&quot;,
-          },
-          &quot;startupCpuBoost&quot;: True or False, # Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.
-        },
-        &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-        &quot;sourceCode&quot;: { # Source type for the container. # Optional. Location of the source.
-          &quot;cloudStorageSource&quot;: { # Cloud Storage source. # The source is a Cloud Storage bucket.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. The Cloud Storage bucket name.
-            &quot;generation&quot;: &quot;A String&quot;, # Optional. The Cloud Storage object generation.
-            &quot;object&quot;: &quot;A String&quot;, # Required. The Cloud Storage object name.
-          },
-          &quot;inlinedSource&quot;: { # Inlined source. # Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source.
-            &quot;sources&quot;: [ # Required. Input only. The source code.
-              { # Source file.
-                &quot;content&quot;: &quot;A String&quot;, # Required. Input only. Represents the exact, literal, and complete source code of the file. Placeholders like `...` or comments such as `# [rest of code]` should NEVER be used as omission. Every character in this field will be built into the final container. Any omission will result in a broken application.
-                &quot;filename&quot;: &quot;A String&quot;, # Required. Input only. The file name for the source code. e.g., `&quot;index.js&quot;` or `&quot;node_modules/dependency.js&quot;`. The filename must be less than 255 characters and cannot contain `..`, `./`, `//`, or end with a `/`. Cloud Run will place the files in the container subdirectories, please use relative path to access the file.
-              },
-            ],
-          },
-        },
-        &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails.
-          &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-          &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-          },
-          &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-              { # HTTPHeader describes a custom header to be used in HTTP probes
-                &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-              },
-            ],
-            &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-            &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-          },
-          &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-          &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-          &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-          },
-          &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-        },
-        &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem.
-          { # VolumeMount describes a mounting of a Volume within a container.
-            &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;. For Cloud SQL volumes, it can be left empty, or must otherwise be `/cloudsql`. All instances defined in the Volume will be available as `/cloudsql/[instance]`. For more information on Cloud SQL volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run
-            &quot;name&quot;: &quot;A String&quot;, # Required. This must match the Name of a Volume.
-            &quot;subPath&quot;: &quot;A String&quot;, # Optional. Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-          },
-        ],
-        &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-      },
-    ],
-  },
   &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
   &quot;scaling&quot;: { # Settings for revision-level scaling settings. # Scaling settings for this revision.
     &quot;concurrencyUtilization&quot;: 3.14, # Optional. Determines a threshold for concurrency utilization before scaling begins. Accepted values are between `0.1` and `0.95` (inclusive) or `0.0` to disable concurrency utilization as threshold for scaling. CPU and concurrency scaling cannot both be disabled.
@@ -775,146 +635,6 @@
       },
       &quot;observedGeneration&quot;: &quot;A String&quot;, # Output only. The generation of this Revision currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.
       &quot;reconciling&quot;: True or False, # Output only. Indicates whether the resource&#x27;s reconciliation is still in progress. See comments in `Service.reconciling` for additional information on reconciliation process in Cloud Run.
-      &quot;sandboxes&quot;: { # Configuration for sandboxes. # Output only. Configuration for sandboxes.
-        &quot;templates&quot;: [ # Required. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided.
-              &quot;A String&quot;,
-            ],
-            &quot;baseImageUri&quot;: &quot;A String&quot;, # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update.
-            &quot;buildInfo&quot;: { # Build information of the image. # Output only. The build info of the container image.
-              &quot;functionTarget&quot;: &quot;A String&quot;, # Output only. Entry point of the function when the image is a Cloud Run function.
-              &quot;sourceLocation&quot;: &quot;A String&quot;, # Output only. Source code location of the image.
-            },
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided.
-              &quot;A String&quot;,
-            ],
-            &quot;dependsOn&quot;: [ # Names of the containers that must start before this container.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable. Must not exceed 32768 characters.
-                &quot;value&quot;: &quot;A String&quot;, # Literal value of the environment variable. Defaults to &quot;&quot;, and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run.
-                &quot;valueSource&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value.
-                  &quot;secretKeyRef&quot;: { # SecretEnvVarSource represents a source for the value of an EnvVar. # Selects a secret and a specific version from Cloud Secret Manager.
-                    &quot;secret&quot;: &quot;A String&quot;, # Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.
-                    &quot;version&quot;: &quot;A String&quot;, # The Cloud Secret Manager secret version. Can be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias.
-                  },
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-                &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. This must be a valid TCP port number, 0 &lt; container_port &lt; 65536.
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-                &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resource requirements by this container.
-              &quot;cpuIdle&quot;: True or False, # Determines whether CPU is only allocated during requests (true by default). However, if ResourceRequirements is set, the caller must explicitly set this field to true to preserve the default behavior.
-              &quot;limits&quot;: { # Only `memory`, `cpu` and `nvidia.com/gpu` keys in the map are supported. Notes: * The only supported values for CPU are &#x27;1&#x27;, &#x27;2&#x27;, &#x27;4&#x27;, and &#x27;8&#x27;. Setting 4 CPU requires at least 2Gi of memory. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;startupCpuBoost&quot;: True or False, # Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;sourceCode&quot;: { # Source type for the container. # Optional. Location of the source.
-              &quot;cloudStorageSource&quot;: { # Cloud Storage source. # The source is a Cloud Storage bucket.
-                &quot;bucket&quot;: &quot;A String&quot;, # Required. The Cloud Storage bucket name.
-                &quot;generation&quot;: &quot;A String&quot;, # Optional. The Cloud Storage object generation.
-                &quot;object&quot;: &quot;A String&quot;, # Required. The Cloud Storage object name.
-              },
-              &quot;inlinedSource&quot;: { # Inlined source. # Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source.
-                &quot;sources&quot;: [ # Required. Input only. The source code.
-                  { # Source file.
-                    &quot;content&quot;: &quot;A String&quot;, # Required. Input only. Represents the exact, literal, and complete source code of the file. Placeholders like `...` or comments such as `# [rest of code]` should NEVER be used as omission. Every character in this field will be built into the final container. Any omission will result in a broken application.
-                    &quot;filename&quot;: &quot;A String&quot;, # Required. Input only. The file name for the source code. e.g., `&quot;index.js&quot;` or `&quot;node_modules/dependency.js&quot;`. The filename must be less than 255 characters and cannot contain `..`, `./`, `//`, or end with a `/`. Cloud Run will place the files in the container subdirectories, please use relative path to access the file.
-                  },
-                ],
-              },
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails.
-              &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-                &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-            },
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;. For Cloud SQL volumes, it can be left empty, or must otherwise be `/cloudsql`. All instances defined in the Volume will be available as `/cloudsql/[instance]`. For more information on Cloud SQL volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run
-                &quot;name&quot;: &quot;A String&quot;, # Required. This must match the Name of a Volume.
-                &quot;subPath&quot;: &quot;A String&quot;, # Optional. Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
-      },
       &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
       &quot;scaling&quot;: { # Settings for revision-level scaling settings. # Scaling settings for this revision.
         &quot;concurrencyUtilization&quot;: 3.14, # Optional. Determines a threshold for concurrency utilization before scaling begins. Accepted values are between `0.1` and `0.95` (inclusive) or `0.0` to disable concurrency utilization as threshold for scaling. CPU and concurrency scaling cannot both be disabled.
diff --git a/docs/dyn/run_v2.projects.locations.workerPools.revisions.html b/docs/dyn/run_v2.projects.locations.workerPools.revisions.html
index d1fc21e..9c04353 100644
--- a/docs/dyn/run_v2.projects.locations.workerPools.revisions.html
+++ b/docs/dyn/run_v2.projects.locations.workerPools.revisions.html
@@ -325,146 +325,6 @@
   },
   &quot;observedGeneration&quot;: &quot;A String&quot;, # Output only. The generation of this Revision currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.
   &quot;reconciling&quot;: True or False, # Output only. Indicates whether the resource&#x27;s reconciliation is still in progress. See comments in `Service.reconciling` for additional information on reconciliation process in Cloud Run.
-  &quot;sandboxes&quot;: { # Configuration for sandboxes. # Output only. Configuration for sandboxes.
-    &quot;templates&quot;: [ # Required. Container templates that can be launched through the `sandbox` CLI.
-      { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime.
-        &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided.
-          &quot;A String&quot;,
-        ],
-        &quot;baseImageUri&quot;: &quot;A String&quot;, # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update.
-        &quot;buildInfo&quot;: { # Build information of the image. # Output only. The build info of the container image.
-          &quot;functionTarget&quot;: &quot;A String&quot;, # Output only. Entry point of the function when the image is a Cloud Run function.
-          &quot;sourceLocation&quot;: &quot;A String&quot;, # Output only. Source code location of the image.
-        },
-        &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided.
-          &quot;A String&quot;,
-        ],
-        &quot;dependsOn&quot;: [ # Names of the containers that must start before this container.
-          &quot;A String&quot;,
-        ],
-        &quot;env&quot;: [ # List of environment variables to set in the container.
-          { # EnvVar represents an environment variable present in a Container.
-            &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable. Must not exceed 32768 characters.
-            &quot;value&quot;: &quot;A String&quot;, # Literal value of the environment variable. Defaults to &quot;&quot;, and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run.
-            &quot;valueSource&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value.
-              &quot;secretKeyRef&quot;: { # SecretEnvVarSource represents a source for the value of an EnvVar. # Selects a secret and a specific version from Cloud Secret Manager.
-                &quot;secret&quot;: &quot;A String&quot;, # Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.
-                &quot;version&quot;: &quot;A String&quot;, # The Cloud Secret Manager secret version. Can be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias.
-              },
-            },
-          },
-        ],
-        &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-        &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-          &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-          &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-          },
-          &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-              { # HTTPHeader describes a custom header to be used in HTTP probes
-                &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-              },
-            ],
-            &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-            &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-          },
-          &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-          &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-          &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-          },
-          &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-        },
-        &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-        &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-          { # ContainerPort represents a network port in a single container.
-            &quot;containerPort&quot;: 42, # Port number the container listens on. This must be a valid TCP port number, 0 &lt; container_port &lt; 65536.
-            &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-          },
-        ],
-        &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-          &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-          &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-          },
-          &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-              { # HTTPHeader describes a custom header to be used in HTTP probes
-                &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-              },
-            ],
-            &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-            &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-          },
-          &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-          &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-          &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-          },
-          &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-        },
-        &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resource requirements by this container.
-          &quot;cpuIdle&quot;: True or False, # Determines whether CPU is only allocated during requests (true by default). However, if ResourceRequirements is set, the caller must explicitly set this field to true to preserve the default behavior.
-          &quot;limits&quot;: { # Only `memory`, `cpu` and `nvidia.com/gpu` keys in the map are supported. Notes: * The only supported values for CPU are &#x27;1&#x27;, &#x27;2&#x27;, &#x27;4&#x27;, and &#x27;8&#x27;. Setting 4 CPU requires at least 2Gi of memory. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-            &quot;a_key&quot;: &quot;A String&quot;,
-          },
-          &quot;startupCpuBoost&quot;: True or False, # Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.
-        },
-        &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-        &quot;sourceCode&quot;: { # Source type for the container. # Optional. Location of the source.
-          &quot;cloudStorageSource&quot;: { # Cloud Storage source. # The source is a Cloud Storage bucket.
-            &quot;bucket&quot;: &quot;A String&quot;, # Required. The Cloud Storage bucket name.
-            &quot;generation&quot;: &quot;A String&quot;, # Optional. The Cloud Storage object generation.
-            &quot;object&quot;: &quot;A String&quot;, # Required. The Cloud Storage object name.
-          },
-          &quot;inlinedSource&quot;: { # Inlined source. # Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source.
-            &quot;sources&quot;: [ # Required. Input only. The source code.
-              { # Source file.
-                &quot;content&quot;: &quot;A String&quot;, # Required. Input only. Represents the exact, literal, and complete source code of the file. Placeholders like `...` or comments such as `# [rest of code]` should NEVER be used as omission. Every character in this field will be built into the final container. Any omission will result in a broken application.
-                &quot;filename&quot;: &quot;A String&quot;, # Required. Input only. The file name for the source code. e.g., `&quot;index.js&quot;` or `&quot;node_modules/dependency.js&quot;`. The filename must be less than 255 characters and cannot contain `..`, `./`, `//`, or end with a `/`. Cloud Run will place the files in the container subdirectories, please use relative path to access the file.
-              },
-            ],
-          },
-        },
-        &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails.
-          &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-          &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-            &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-          },
-          &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-              { # HTTPHeader describes a custom header to be used in HTTP probes
-                &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-              },
-            ],
-            &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-            &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-          },
-          &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-          &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-          &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-            &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-          },
-          &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-        },
-        &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem.
-          { # VolumeMount describes a mounting of a Volume within a container.
-            &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;. For Cloud SQL volumes, it can be left empty, or must otherwise be `/cloudsql`. All instances defined in the Volume will be available as `/cloudsql/[instance]`. For more information on Cloud SQL volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run
-            &quot;name&quot;: &quot;A String&quot;, # Required. This must match the Name of a Volume.
-            &quot;subPath&quot;: &quot;A String&quot;, # Optional. Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-          },
-        ],
-        &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-      },
-    ],
-  },
   &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
   &quot;scaling&quot;: { # Settings for revision-level scaling settings. # Scaling settings for this revision.
     &quot;concurrencyUtilization&quot;: 3.14, # Optional. Determines a threshold for concurrency utilization before scaling begins. Accepted values are between `0.1` and `0.95` (inclusive) or `0.0` to disable concurrency utilization as threshold for scaling. CPU and concurrency scaling cannot both be disabled.
@@ -736,146 +596,6 @@
       },
       &quot;observedGeneration&quot;: &quot;A String&quot;, # Output only. The generation of this Revision currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run.
       &quot;reconciling&quot;: True or False, # Output only. Indicates whether the resource&#x27;s reconciliation is still in progress. See comments in `Service.reconciling` for additional information on reconciliation process in Cloud Run.
-      &quot;sandboxes&quot;: { # Configuration for sandboxes. # Output only. Configuration for sandboxes.
-        &quot;templates&quot;: [ # Required. Container templates that can be launched through the `sandbox` CLI.
-          { # A single application container. This specifies both the container to run, the command to run in the container and the arguments to supply to it. Note that additional arguments can be supplied by the system to the container at runtime.
-            &quot;args&quot;: [ # Arguments to the entrypoint. The docker image&#x27;s CMD is used if this is not provided.
-              &quot;A String&quot;,
-            ],
-            &quot;baseImageUri&quot;: &quot;A String&quot;, # Base image for this container. Only supported for services. If set, it indicates that the service is enrolled into automatic base image update.
-            &quot;buildInfo&quot;: { # Build information of the image. # Output only. The build info of the container image.
-              &quot;functionTarget&quot;: &quot;A String&quot;, # Output only. Entry point of the function when the image is a Cloud Run function.
-              &quot;sourceLocation&quot;: &quot;A String&quot;, # Output only. Source code location of the image.
-            },
-            &quot;command&quot;: [ # Entrypoint array. Not executed within a shell. The docker image&#x27;s ENTRYPOINT is used if this is not provided.
-              &quot;A String&quot;,
-            ],
-            &quot;dependsOn&quot;: [ # Names of the containers that must start before this container.
-              &quot;A String&quot;,
-            ],
-            &quot;env&quot;: [ # List of environment variables to set in the container.
-              { # EnvVar represents an environment variable present in a Container.
-                &quot;name&quot;: &quot;A String&quot;, # Required. Name of the environment variable. Must not exceed 32768 characters.
-                &quot;value&quot;: &quot;A String&quot;, # Literal value of the environment variable. Defaults to &quot;&quot;, and the maximum length is 32768 bytes. Variable references are not supported in Cloud Run.
-                &quot;valueSource&quot;: { # EnvVarSource represents a source for the value of an EnvVar. # Source for the environment variable&#x27;s value.
-                  &quot;secretKeyRef&quot;: { # SecretEnvVarSource represents a source for the value of an EnvVar. # Selects a secret and a specific version from Cloud Secret Manager.
-                    &quot;secret&quot;: &quot;A String&quot;, # Required. The name of the secret in Cloud Secret Manager. Format: {secret_name} if the secret is in the same project. projects/{project}/secrets/{secret_name} if the secret is in a different project.
-                    &quot;version&quot;: &quot;A String&quot;, # The Cloud Secret Manager secret version. Can be &#x27;latest&#x27; for the latest version, an integer for a specific version, or a version alias.
-                  },
-                },
-              },
-            ],
-            &quot;image&quot;: &quot;A String&quot;, # Required. Name of the container image in Dockerhub, Google Artifact Registry, or Google Container Registry. If the host is not provided, Dockerhub is assumed.
-            &quot;livenessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Periodic probe of container liveness. Container will be restarted if the probe fails.
-              &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-                &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-            },
-            &quot;name&quot;: &quot;A String&quot;, # Name of the container specified as a DNS_LABEL (RFC 1123).
-            &quot;ports&quot;: [ # List of ports to expose from the container. Only a single port can be specified. The specified ports must be listening on all interfaces (0.0.0.0) within the container to be accessible. If omitted, a port number will be chosen and passed to the container through the PORT environment variable for the container to listen on.
-              { # ContainerPort represents a network port in a single container.
-                &quot;containerPort&quot;: 42, # Port number the container listens on. This must be a valid TCP port number, 0 &lt; container_port &lt; 65536.
-                &quot;name&quot;: &quot;A String&quot;, # If specified, used to specify which protocol to use. Allowed values are &quot;http1&quot; and &quot;h2c&quot;.
-              },
-            ],
-            &quot;readinessProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Readiness probe to be used for health checks.
-              &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-                &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-            },
-            &quot;resources&quot;: { # ResourceRequirements describes the compute resource requirements. # Compute Resource requirements by this container.
-              &quot;cpuIdle&quot;: True or False, # Determines whether CPU is only allocated during requests (true by default). However, if ResourceRequirements is set, the caller must explicitly set this field to true to preserve the default behavior.
-              &quot;limits&quot;: { # Only `memory`, `cpu` and `nvidia.com/gpu` keys in the map are supported. Notes: * The only supported values for CPU are &#x27;1&#x27;, &#x27;2&#x27;, &#x27;4&#x27;, and &#x27;8&#x27;. Setting 4 CPU requires at least 2Gi of memory. For more information, go to https://cloud.google.com/run/docs/configuring/cpu. * For supported &#x27;memory&#x27; values and syntax, go to https://cloud.google.com/run/docs/configuring/memory-limits * The only supported &#x27;nvidia.com/gpu&#x27; value is &#x27;1&#x27;.
-                &quot;a_key&quot;: &quot;A String&quot;,
-              },
-              &quot;startupCpuBoost&quot;: True or False, # Determines whether CPU should be boosted on startup of a new container instance above the requested CPU threshold, this can help reduce cold-start latency.
-            },
-            &quot;sandboxLauncher&quot;: True or False, # Optional. Indicates that this container can act as a sandbox supervisor and launch sandboxes.
-            &quot;sourceCode&quot;: { # Source type for the container. # Optional. Location of the source.
-              &quot;cloudStorageSource&quot;: { # Cloud Storage source. # The source is a Cloud Storage bucket.
-                &quot;bucket&quot;: &quot;A String&quot;, # Required. The Cloud Storage bucket name.
-                &quot;generation&quot;: &quot;A String&quot;, # Optional. The Cloud Storage object generation.
-                &quot;object&quot;: &quot;A String&quot;, # Required. The Cloud Storage object name.
-              },
-              &quot;inlinedSource&quot;: { # Inlined source. # Optional. Input only. Source code inlined in the request. Cloud Run will store the inlined_source to Cloud Storage and replace the field with cloud_storage_source.
-                &quot;sources&quot;: [ # Required. Input only. The source code.
-                  { # Source file.
-                    &quot;content&quot;: &quot;A String&quot;, # Required. Input only. Represents the exact, literal, and complete source code of the file. Placeholders like `...` or comments such as `# [rest of code]` should NEVER be used as omission. Every character in this field will be built into the final container. Any omission will result in a broken application.
-                    &quot;filename&quot;: &quot;A String&quot;, # Required. Input only. The file name for the source code. e.g., `&quot;index.js&quot;` or `&quot;node_modules/dependency.js&quot;`. The filename must be less than 255 characters and cannot contain `..`, `./`, `//`, or end with a `/`. Cloud Run will place the files in the container subdirectories, please use relative path to access the file.
-                  },
-                ],
-              },
-            },
-            &quot;startupProbe&quot;: { # Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic. # Startup probe of application within the container. All other probes are disabled if a startup probe is provided, until it succeeds. Container will not be added to service endpoints if the probe fails.
-              &quot;failureThreshold&quot;: 42, # Optional. Minimum consecutive failures for the probe to be considered failed after having succeeded. Defaults to 3. Minimum value is 1.
-              &quot;grpc&quot;: { # GRPCAction describes an action involving a GRPC port. # Optional. GRPC specifies an action involving a gRPC port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;port&quot;: 42, # Optional. Port number of the gRPC service. Number must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-                &quot;service&quot;: &quot;A String&quot;, # Optional. Service is the name of the service to place in the gRPC HealthCheckRequest (see https://github.com/grpc/grpc/blob/master/doc/health-checking.md ). If this is not specified, the default behavior is defined by gRPC.
-              },
-              &quot;httpGet&quot;: { # HTTPGetAction describes an action based on HTTP Get requests. # Optional. HTTPGet specifies the http request to perform. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;httpHeaders&quot;: [ # Optional. Custom headers to set in the request. HTTP allows repeated headers.
-                  { # HTTPHeader describes a custom header to be used in HTTP probes
-                    &quot;name&quot;: &quot;A String&quot;, # Required. The header field name
-                    &quot;value&quot;: &quot;A String&quot;, # Optional. The header field value
-                  },
-                ],
-                &quot;path&quot;: &quot;A String&quot;, # Optional. Path to access on the HTTP server. Defaults to &#x27;/&#x27;.
-                &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              },
-              &quot;initialDelaySeconds&quot;: 42, # Optional. Number of seconds after the container has started before the probe is initiated. Defaults to 0 seconds. Minimum value is 0. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240.
-              &quot;periodSeconds&quot;: 42, # Optional. How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1. Maximum value for liveness probe is 3600. Maximum value for startup probe is 240. Must be greater or equal than timeout_seconds.
-              &quot;tcpSocket&quot;: { # TCPSocketAction describes an action based on opening a socket # Optional. TCPSocket specifies an action involving a TCP port. Exactly one of httpGet, tcpSocket, or grpc must be specified.
-                &quot;port&quot;: 42, # Optional. Port number to access on the container. Must be in the range 1 to 65535. If not specified, defaults to the exposed port of the container, which is the value of container.ports[0].containerPort.
-              },
-              &quot;timeoutSeconds&quot;: 42, # Optional. Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1. Maximum value is 3600. Must be smaller than period_seconds.
-            },
-            &quot;volumeMounts&quot;: [ # Volume to mount into the container&#x27;s filesystem.
-              { # VolumeMount describes a mounting of a Volume within a container.
-                &quot;mountPath&quot;: &quot;A String&quot;, # Required. Path within the container at which the volume should be mounted. Must not contain &#x27;:&#x27;. For Cloud SQL volumes, it can be left empty, or must otherwise be `/cloudsql`. All instances defined in the Volume will be available as `/cloudsql/[instance]`. For more information on Cloud SQL volumes, visit https://cloud.google.com/sql/docs/mysql/connect-run
-                &quot;name&quot;: &quot;A String&quot;, # Required. This must match the Name of a Volume.
-                &quot;subPath&quot;: &quot;A String&quot;, # Optional. Path within the volume from which the container&#x27;s volume should be mounted. Defaults to &quot;&quot; (volume&#x27;s root). This field is currently rejected in Secret volume mounts.
-              },
-            ],
-            &quot;workingDir&quot;: &quot;A String&quot;, # Container&#x27;s working directory. If not specified, the container runtime&#x27;s default will be used, which might be configured in the container image.
-          },
-        ],
-      },
       &quot;satisfiesPzs&quot;: True or False, # Output only. Reserved for future use.
       &quot;scaling&quot;: { # Settings for revision-level scaling settings. # Scaling settings for this revision.
         &quot;concurrencyUtilization&quot;: 3.14, # Optional. Determines a threshold for concurrency utilization before scaling begins. Accepted values are between `0.1` and `0.95` (inclusive) or `0.0` to disable concurrency utilization as threshold for scaling. CPU and concurrency scaling cannot both be disabled.
diff --git a/docs/dyn/securitycenter_v1.folders.securityHealthAnalyticsSettings.customModules.html b/docs/dyn/securitycenter_v1.folders.securityHealthAnalyticsSettings.customModules.html
index 82ac54d..ed8f61f 100644
--- a/docs/dyn/securitycenter_v1.folders.securityHealthAnalyticsSettings.customModules.html
+++ b/docs/dyn/securitycenter_v1.folders.securityHealthAnalyticsSettings.customModules.html
@@ -979,6 +979,14 @@
           &quot;role&quot;: &quot;A String&quot;,
         },
       ],
+      &quot;iamDetails&quot;: {
+        &quot;iamRolePermissions&quot;: [
+          {
+            &quot;name&quot;: &quot;A String&quot;,
+            &quot;role&quot;: &quot;A String&quot;,
+          },
+        ],
+      },
       &quot;indicator&quot;: {
         &quot;domains&quot;: [
           &quot;A String&quot;,
diff --git a/docs/dyn/securitycenter_v1.folders.sources.findings.html b/docs/dyn/securitycenter_v1.folders.sources.findings.html
index 4b3f337..0a3f4e5 100644
--- a/docs/dyn/securitycenter_v1.folders.sources.findings.html
+++ b/docs/dyn/securitycenter_v1.folders.sources.findings.html
@@ -548,6 +548,14 @@
             &quot;role&quot;: &quot;A String&quot;,
           },
         ],
+        &quot;iamDetails&quot;: {
+          &quot;iamRolePermissions&quot;: [
+            {
+              &quot;name&quot;: &quot;A String&quot;,
+              &quot;role&quot;: &quot;A String&quot;,
+            },
+          ],
+        },
         &quot;indicator&quot;: {
           &quot;domains&quot;: [
             &quot;A String&quot;,
@@ -1511,6 +1519,14 @@
       &quot;role&quot;: &quot;A String&quot;,
     },
   ],
+  &quot;iamDetails&quot;: {
+    &quot;iamRolePermissions&quot;: [
+      {
+        &quot;name&quot;: &quot;A String&quot;,
+        &quot;role&quot;: &quot;A String&quot;,
+      },
+    ],
+  },
   &quot;indicator&quot;: {
     &quot;domains&quot;: [
       &quot;A String&quot;,
@@ -2330,6 +2346,14 @@
       &quot;role&quot;: &quot;A String&quot;,
     },
   ],
+  &quot;iamDetails&quot;: {
+    &quot;iamRolePermissions&quot;: [
+      {
+        &quot;name&quot;: &quot;A String&quot;,
+        &quot;role&quot;: &quot;A String&quot;,
+      },
+    ],
+  },
   &quot;indicator&quot;: {
     &quot;domains&quot;: [
       &quot;A String&quot;,
@@ -3162,6 +3186,14 @@
       &quot;role&quot;: &quot;A String&quot;,
     },
   ],
+  &quot;iamDetails&quot;: {
+    &quot;iamRolePermissions&quot;: [
+      {
+        &quot;name&quot;: &quot;A String&quot;,
+        &quot;role&quot;: &quot;A String&quot;,
+      },
+    ],
+  },
   &quot;indicator&quot;: {
     &quot;domains&quot;: [
       &quot;A String&quot;,
@@ -3995,6 +4027,14 @@
       &quot;role&quot;: &quot;A String&quot;,
     },
   ],
+  &quot;iamDetails&quot;: {
+    &quot;iamRolePermissions&quot;: [
+      {
+        &quot;name&quot;: &quot;A String&quot;,
+        &quot;role&quot;: &quot;A String&quot;,
+      },
+    ],
+  },
   &quot;indicator&quot;: {
     &quot;domains&quot;: [
       &quot;A String&quot;,
diff --git a/docs/dyn/securitycenter_v1.organizations.securityHealthAnalyticsSettings.customModules.html b/docs/dyn/securitycenter_v1.organizations.securityHealthAnalyticsSettings.customModules.html
index 5ed2b8a..583de6a 100644
--- a/docs/dyn/securitycenter_v1.organizations.securityHealthAnalyticsSettings.customModules.html
+++ b/docs/dyn/securitycenter_v1.organizations.securityHealthAnalyticsSettings.customModules.html
@@ -979,6 +979,14 @@
           &quot;role&quot;: &quot;A String&quot;,
         },
       ],
+      &quot;iamDetails&quot;: {
+        &quot;iamRolePermissions&quot;: [
+          {
+            &quot;name&quot;: &quot;A String&quot;,
+            &quot;role&quot;: &quot;A String&quot;,
+          },
+        ],
+      },
       &quot;indicator&quot;: {
         &quot;domains&quot;: [
           &quot;A String&quot;,
diff --git a/docs/dyn/securitycenter_v1.organizations.sources.findings.html b/docs/dyn/securitycenter_v1.organizations.sources.findings.html
index 6d928dc..92be448 100644
--- a/docs/dyn/securitycenter_v1.organizations.sources.findings.html
+++ b/docs/dyn/securitycenter_v1.organizations.sources.findings.html
@@ -481,6 +481,14 @@
       &quot;role&quot;: &quot;A String&quot;,
     },
   ],
+  &quot;iamDetails&quot;: {
+    &quot;iamRolePermissions&quot;: [
+      {
+        &quot;name&quot;: &quot;A String&quot;,
+        &quot;role&quot;: &quot;A String&quot;,
+      },
+    ],
+  },
   &quot;indicator&quot;: {
     &quot;domains&quot;: [
       &quot;A String&quot;,
@@ -1300,6 +1308,14 @@
       &quot;role&quot;: &quot;A String&quot;,
     },
   ],
+  &quot;iamDetails&quot;: {
+    &quot;iamRolePermissions&quot;: [
+      {
+        &quot;name&quot;: &quot;A String&quot;,
+        &quot;role&quot;: &quot;A String&quot;,
+      },
+    ],
+  },
   &quot;indicator&quot;: {
     &quot;domains&quot;: [
       &quot;A String&quot;,
@@ -2190,6 +2206,14 @@
             &quot;role&quot;: &quot;A String&quot;,
           },
         ],
+        &quot;iamDetails&quot;: {
+          &quot;iamRolePermissions&quot;: [
+            {
+              &quot;name&quot;: &quot;A String&quot;,
+              &quot;role&quot;: &quot;A String&quot;,
+            },
+          ],
+        },
         &quot;indicator&quot;: {
           &quot;domains&quot;: [
             &quot;A String&quot;,
@@ -3153,6 +3177,14 @@
       &quot;role&quot;: &quot;A String&quot;,
     },
   ],
+  &quot;iamDetails&quot;: {
+    &quot;iamRolePermissions&quot;: [
+      {
+        &quot;name&quot;: &quot;A String&quot;,
+        &quot;role&quot;: &quot;A String&quot;,
+      },
+    ],
+  },
   &quot;indicator&quot;: {
     &quot;domains&quot;: [
       &quot;A String&quot;,
@@ -3972,6 +4004,14 @@
       &quot;role&quot;: &quot;A String&quot;,
     },
   ],
+  &quot;iamDetails&quot;: {
+    &quot;iamRolePermissions&quot;: [
+      {
+        &quot;name&quot;: &quot;A String&quot;,
+        &quot;role&quot;: &quot;A String&quot;,
+      },
+    ],
+  },
   &quot;indicator&quot;: {
     &quot;domains&quot;: [
       &quot;A String&quot;,
@@ -4804,6 +4844,14 @@
       &quot;role&quot;: &quot;A String&quot;,
     },
   ],
+  &quot;iamDetails&quot;: {
+    &quot;iamRolePermissions&quot;: [
+      {
+        &quot;name&quot;: &quot;A String&quot;,
+        &quot;role&quot;: &quot;A String&quot;,
+      },
+    ],
+  },
   &quot;indicator&quot;: {
     &quot;domains&quot;: [
       &quot;A String&quot;,
@@ -5637,6 +5685,14 @@
       &quot;role&quot;: &quot;A String&quot;,
     },
   ],
+  &quot;iamDetails&quot;: {
+    &quot;iamRolePermissions&quot;: [
+      {
+        &quot;name&quot;: &quot;A String&quot;,
+        &quot;role&quot;: &quot;A String&quot;,
+      },
+    ],
+  },
   &quot;indicator&quot;: {
     &quot;domains&quot;: [
       &quot;A String&quot;,
diff --git a/docs/dyn/securitycenter_v1.projects.securityHealthAnalyticsSettings.customModules.html b/docs/dyn/securitycenter_v1.projects.securityHealthAnalyticsSettings.customModules.html
index 0d33f8c..a80a8ec 100644
--- a/docs/dyn/securitycenter_v1.projects.securityHealthAnalyticsSettings.customModules.html
+++ b/docs/dyn/securitycenter_v1.projects.securityHealthAnalyticsSettings.customModules.html
@@ -979,6 +979,14 @@
           &quot;role&quot;: &quot;A String&quot;,
         },
       ],
+      &quot;iamDetails&quot;: {
+        &quot;iamRolePermissions&quot;: [
+          {
+            &quot;name&quot;: &quot;A String&quot;,
+            &quot;role&quot;: &quot;A String&quot;,
+          },
+        ],
+      },
       &quot;indicator&quot;: {
         &quot;domains&quot;: [
           &quot;A String&quot;,
diff --git a/docs/dyn/securitycenter_v1.projects.sources.findings.html b/docs/dyn/securitycenter_v1.projects.sources.findings.html
index 11aa5a5..aff796c 100644
--- a/docs/dyn/securitycenter_v1.projects.sources.findings.html
+++ b/docs/dyn/securitycenter_v1.projects.sources.findings.html
@@ -548,6 +548,14 @@
             &quot;role&quot;: &quot;A String&quot;,
           },
         ],
+        &quot;iamDetails&quot;: {
+          &quot;iamRolePermissions&quot;: [
+            {
+              &quot;name&quot;: &quot;A String&quot;,
+              &quot;role&quot;: &quot;A String&quot;,
+            },
+          ],
+        },
         &quot;indicator&quot;: {
           &quot;domains&quot;: [
             &quot;A String&quot;,
@@ -1511,6 +1519,14 @@
       &quot;role&quot;: &quot;A String&quot;,
     },
   ],
+  &quot;iamDetails&quot;: {
+    &quot;iamRolePermissions&quot;: [
+      {
+        &quot;name&quot;: &quot;A String&quot;,
+        &quot;role&quot;: &quot;A String&quot;,
+      },
+    ],
+  },
   &quot;indicator&quot;: {
     &quot;domains&quot;: [
       &quot;A String&quot;,
@@ -2330,6 +2346,14 @@
       &quot;role&quot;: &quot;A String&quot;,
     },
   ],
+  &quot;iamDetails&quot;: {
+    &quot;iamRolePermissions&quot;: [
+      {
+        &quot;name&quot;: &quot;A String&quot;,
+        &quot;role&quot;: &quot;A String&quot;,
+      },
+    ],
+  },
   &quot;indicator&quot;: {
     &quot;domains&quot;: [
       &quot;A String&quot;,
@@ -3162,6 +3186,14 @@
       &quot;role&quot;: &quot;A String&quot;,
     },
   ],
+  &quot;iamDetails&quot;: {
+    &quot;iamRolePermissions&quot;: [
+      {
+        &quot;name&quot;: &quot;A String&quot;,
+        &quot;role&quot;: &quot;A String&quot;,
+      },
+    ],
+  },
   &quot;indicator&quot;: {
     &quot;domains&quot;: [
       &quot;A String&quot;,
@@ -3995,6 +4027,14 @@
       &quot;role&quot;: &quot;A String&quot;,
     },
   ],
+  &quot;iamDetails&quot;: {
+    &quot;iamRolePermissions&quot;: [
+      {
+        &quot;name&quot;: &quot;A String&quot;,
+        &quot;role&quot;: &quot;A String&quot;,
+      },
+    ],
+  },
   &quot;indicator&quot;: {
     &quot;domains&quot;: [
       &quot;A String&quot;,
diff --git a/docs/dyn/storagetransfer_v1.transferJobs.html b/docs/dyn/storagetransfer_v1.transferJobs.html
index 5c86316..ebec9e6 100644
--- a/docs/dyn/storagetransfer_v1.transferJobs.html
+++ b/docs/dyn/storagetransfer_v1.transferJobs.html
@@ -159,6 +159,9 @@
       &quot;includePrefixes&quot;: [ # If you specify `include_prefixes`, Storage Transfer Service uses the items in the `include_prefixes` array to determine which objects to include in a transfer. Objects must start with one of the matching `include_prefixes` for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the `exclude_prefixes` specified for inclusion in the transfer. The following are requirements of `include_prefixes`: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include-prefix as `logs/y=2015/requests.gz`. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of `include_prefixes` is 1000. For more information, see [Filtering objects from transfers](/storage-transfer/docs/filtering-objects-from-transfers).
         &quot;A String&quot;,
       ],
+      &quot;includeStorageClasses&quot;: [ # Optional. If specified, objects in the source matching any of the storage classes in this field will be transferred. Objects in storage classes not included in this field will be skipped. If empty, the default behavior regarding the storage classes is applied. This includes all storage classes except &quot;GLACIER&quot; as per default behavior. Currently, this field only supports S3 data source. For the list of valid Amazon S3 storage classnames, please refer to the AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html
+        &quot;A String&quot;,
+      ],
       &quot;lastModifiedBefore&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; before this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred.
       &quot;lastModifiedSince&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; on or after this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day&#x27;s worth of data at a time. For that you&#x27;d set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day
       &quot;matchGlob&quot;: &quot;A String&quot;, # Optional. If specified, only objects matching this glob are transferred.
@@ -167,7 +170,7 @@
     },
     &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # Specifies the metadata options to be applied during replication. Delete options are not supported. If a delete option is specified, the request fails with an INVALID_ARGUMENT error.
       &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
-      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted from the sink. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
       &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
         &quot;acl&quot;: &quot;A String&quot;, # Specifies how each object&#x27;s ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.
         &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
@@ -278,6 +281,9 @@
       &quot;includePrefixes&quot;: [ # If you specify `include_prefixes`, Storage Transfer Service uses the items in the `include_prefixes` array to determine which objects to include in a transfer. Objects must start with one of the matching `include_prefixes` for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the `exclude_prefixes` specified for inclusion in the transfer. The following are requirements of `include_prefixes`: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include-prefix as `logs/y=2015/requests.gz`. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of `include_prefixes` is 1000. For more information, see [Filtering objects from transfers](/storage-transfer/docs/filtering-objects-from-transfers).
         &quot;A String&quot;,
       ],
+      &quot;includeStorageClasses&quot;: [ # Optional. If specified, objects in the source matching any of the storage classes in this field will be transferred. Objects in storage classes not included in this field will be skipped. If empty, the default behavior regarding the storage classes is applied. This includes all storage classes except &quot;GLACIER&quot; as per default behavior. Currently, this field only supports S3 data source. For the list of valid Amazon S3 storage classnames, please refer to the AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html
+        &quot;A String&quot;,
+      ],
       &quot;lastModifiedBefore&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; before this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred.
       &quot;lastModifiedSince&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; on or after this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day&#x27;s worth of data at a time. For that you&#x27;d set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day
       &quot;matchGlob&quot;: &quot;A String&quot;, # Optional. If specified, only objects matching this glob are transferred.
@@ -297,7 +303,7 @@
     },
     &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as &#x27;last modification time&#x27; are specified, the request fails with an INVALID_ARGUMENT error.
       &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
-      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted from the sink. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
       &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
         &quot;acl&quot;: &quot;A String&quot;, # Specifies how each object&#x27;s ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.
         &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
@@ -370,6 +376,9 @@
       &quot;includePrefixes&quot;: [ # If you specify `include_prefixes`, Storage Transfer Service uses the items in the `include_prefixes` array to determine which objects to include in a transfer. Objects must start with one of the matching `include_prefixes` for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the `exclude_prefixes` specified for inclusion in the transfer. The following are requirements of `include_prefixes`: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include-prefix as `logs/y=2015/requests.gz`. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of `include_prefixes` is 1000. For more information, see [Filtering objects from transfers](/storage-transfer/docs/filtering-objects-from-transfers).
         &quot;A String&quot;,
       ],
+      &quot;includeStorageClasses&quot;: [ # Optional. If specified, objects in the source matching any of the storage classes in this field will be transferred. Objects in storage classes not included in this field will be skipped. If empty, the default behavior regarding the storage classes is applied. This includes all storage classes except &quot;GLACIER&quot; as per default behavior. Currently, this field only supports S3 data source. For the list of valid Amazon S3 storage classnames, please refer to the AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html
+        &quot;A String&quot;,
+      ],
       &quot;lastModifiedBefore&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; before this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred.
       &quot;lastModifiedSince&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; on or after this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day&#x27;s worth of data at a time. For that you&#x27;d set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day
       &quot;matchGlob&quot;: &quot;A String&quot;, # Optional. If specified, only objects matching this glob are transferred.
@@ -378,7 +387,7 @@
     },
     &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # Specifies the metadata options to be applied during replication. Delete options are not supported. If a delete option is specified, the request fails with an INVALID_ARGUMENT error.
       &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
-      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted from the sink. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
       &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
         &quot;acl&quot;: &quot;A String&quot;, # Specifies how each object&#x27;s ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.
         &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
@@ -489,6 +498,9 @@
       &quot;includePrefixes&quot;: [ # If you specify `include_prefixes`, Storage Transfer Service uses the items in the `include_prefixes` array to determine which objects to include in a transfer. Objects must start with one of the matching `include_prefixes` for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the `exclude_prefixes` specified for inclusion in the transfer. The following are requirements of `include_prefixes`: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include-prefix as `logs/y=2015/requests.gz`. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of `include_prefixes` is 1000. For more information, see [Filtering objects from transfers](/storage-transfer/docs/filtering-objects-from-transfers).
         &quot;A String&quot;,
       ],
+      &quot;includeStorageClasses&quot;: [ # Optional. If specified, objects in the source matching any of the storage classes in this field will be transferred. Objects in storage classes not included in this field will be skipped. If empty, the default behavior regarding the storage classes is applied. This includes all storage classes except &quot;GLACIER&quot; as per default behavior. Currently, this field only supports S3 data source. For the list of valid Amazon S3 storage classnames, please refer to the AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html
+        &quot;A String&quot;,
+      ],
       &quot;lastModifiedBefore&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; before this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred.
       &quot;lastModifiedSince&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; on or after this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day&#x27;s worth of data at a time. For that you&#x27;d set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day
       &quot;matchGlob&quot;: &quot;A String&quot;, # Optional. If specified, only objects matching this glob are transferred.
@@ -508,7 +520,7 @@
     },
     &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as &#x27;last modification time&#x27; are specified, the request fails with an INVALID_ARGUMENT error.
       &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
-      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted from the sink. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
       &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
         &quot;acl&quot;: &quot;A String&quot;, # Specifies how each object&#x27;s ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.
         &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
@@ -608,6 +620,9 @@
       &quot;includePrefixes&quot;: [ # If you specify `include_prefixes`, Storage Transfer Service uses the items in the `include_prefixes` array to determine which objects to include in a transfer. Objects must start with one of the matching `include_prefixes` for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the `exclude_prefixes` specified for inclusion in the transfer. The following are requirements of `include_prefixes`: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include-prefix as `logs/y=2015/requests.gz`. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of `include_prefixes` is 1000. For more information, see [Filtering objects from transfers](/storage-transfer/docs/filtering-objects-from-transfers).
         &quot;A String&quot;,
       ],
+      &quot;includeStorageClasses&quot;: [ # Optional. If specified, objects in the source matching any of the storage classes in this field will be transferred. Objects in storage classes not included in this field will be skipped. If empty, the default behavior regarding the storage classes is applied. This includes all storage classes except &quot;GLACIER&quot; as per default behavior. Currently, this field only supports S3 data source. For the list of valid Amazon S3 storage classnames, please refer to the AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html
+        &quot;A String&quot;,
+      ],
       &quot;lastModifiedBefore&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; before this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred.
       &quot;lastModifiedSince&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; on or after this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day&#x27;s worth of data at a time. For that you&#x27;d set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day
       &quot;matchGlob&quot;: &quot;A String&quot;, # Optional. If specified, only objects matching this glob are transferred.
@@ -616,7 +631,7 @@
     },
     &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # Specifies the metadata options to be applied during replication. Delete options are not supported. If a delete option is specified, the request fails with an INVALID_ARGUMENT error.
       &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
-      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted from the sink. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
       &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
         &quot;acl&quot;: &quot;A String&quot;, # Specifies how each object&#x27;s ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.
         &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
@@ -727,6 +742,9 @@
       &quot;includePrefixes&quot;: [ # If you specify `include_prefixes`, Storage Transfer Service uses the items in the `include_prefixes` array to determine which objects to include in a transfer. Objects must start with one of the matching `include_prefixes` for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the `exclude_prefixes` specified for inclusion in the transfer. The following are requirements of `include_prefixes`: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include-prefix as `logs/y=2015/requests.gz`. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of `include_prefixes` is 1000. For more information, see [Filtering objects from transfers](/storage-transfer/docs/filtering-objects-from-transfers).
         &quot;A String&quot;,
       ],
+      &quot;includeStorageClasses&quot;: [ # Optional. If specified, objects in the source matching any of the storage classes in this field will be transferred. Objects in storage classes not included in this field will be skipped. If empty, the default behavior regarding the storage classes is applied. This includes all storage classes except &quot;GLACIER&quot; as per default behavior. Currently, this field only supports S3 data source. For the list of valid Amazon S3 storage classnames, please refer to the AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html
+        &quot;A String&quot;,
+      ],
       &quot;lastModifiedBefore&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; before this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred.
       &quot;lastModifiedSince&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; on or after this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day&#x27;s worth of data at a time. For that you&#x27;d set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day
       &quot;matchGlob&quot;: &quot;A String&quot;, # Optional. If specified, only objects matching this glob are transferred.
@@ -746,7 +764,7 @@
     },
     &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as &#x27;last modification time&#x27; are specified, the request fails with an INVALID_ARGUMENT error.
       &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
-      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted from the sink. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
       &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
         &quot;acl&quot;: &quot;A String&quot;, # Specifies how each object&#x27;s ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.
         &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
@@ -831,6 +849,9 @@
           &quot;includePrefixes&quot;: [ # If you specify `include_prefixes`, Storage Transfer Service uses the items in the `include_prefixes` array to determine which objects to include in a transfer. Objects must start with one of the matching `include_prefixes` for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the `exclude_prefixes` specified for inclusion in the transfer. The following are requirements of `include_prefixes`: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include-prefix as `logs/y=2015/requests.gz`. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of `include_prefixes` is 1000. For more information, see [Filtering objects from transfers](/storage-transfer/docs/filtering-objects-from-transfers).
             &quot;A String&quot;,
           ],
+          &quot;includeStorageClasses&quot;: [ # Optional. If specified, objects in the source matching any of the storage classes in this field will be transferred. Objects in storage classes not included in this field will be skipped. If empty, the default behavior regarding the storage classes is applied. This includes all storage classes except &quot;GLACIER&quot; as per default behavior. Currently, this field only supports S3 data source. For the list of valid Amazon S3 storage classnames, please refer to the AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html
+            &quot;A String&quot;,
+          ],
           &quot;lastModifiedBefore&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; before this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred.
           &quot;lastModifiedSince&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; on or after this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day&#x27;s worth of data at a time. For that you&#x27;d set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day
           &quot;matchGlob&quot;: &quot;A String&quot;, # Optional. If specified, only objects matching this glob are transferred.
@@ -839,7 +860,7 @@
         },
         &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # Specifies the metadata options to be applied during replication. Delete options are not supported. If a delete option is specified, the request fails with an INVALID_ARGUMENT error.
           &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
-          &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+          &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted from the sink. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
           &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
             &quot;acl&quot;: &quot;A String&quot;, # Specifies how each object&#x27;s ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.
             &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
@@ -950,6 +971,9 @@
           &quot;includePrefixes&quot;: [ # If you specify `include_prefixes`, Storage Transfer Service uses the items in the `include_prefixes` array to determine which objects to include in a transfer. Objects must start with one of the matching `include_prefixes` for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the `exclude_prefixes` specified for inclusion in the transfer. The following are requirements of `include_prefixes`: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include-prefix as `logs/y=2015/requests.gz`. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of `include_prefixes` is 1000. For more information, see [Filtering objects from transfers](/storage-transfer/docs/filtering-objects-from-transfers).
             &quot;A String&quot;,
           ],
+          &quot;includeStorageClasses&quot;: [ # Optional. If specified, objects in the source matching any of the storage classes in this field will be transferred. Objects in storage classes not included in this field will be skipped. If empty, the default behavior regarding the storage classes is applied. This includes all storage classes except &quot;GLACIER&quot; as per default behavior. Currently, this field only supports S3 data source. For the list of valid Amazon S3 storage classnames, please refer to the AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html
+            &quot;A String&quot;,
+          ],
           &quot;lastModifiedBefore&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; before this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred.
           &quot;lastModifiedSince&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; on or after this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day&#x27;s worth of data at a time. For that you&#x27;d set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day
           &quot;matchGlob&quot;: &quot;A String&quot;, # Optional. If specified, only objects matching this glob are transferred.
@@ -969,7 +993,7 @@
         },
         &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as &#x27;last modification time&#x27; are specified, the request fails with an INVALID_ARGUMENT error.
           &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
-          &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+          &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted from the sink. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
           &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
             &quot;acl&quot;: &quot;A String&quot;, # Specifies how each object&#x27;s ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.
             &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
@@ -1062,6 +1086,9 @@
         &quot;includePrefixes&quot;: [ # If you specify `include_prefixes`, Storage Transfer Service uses the items in the `include_prefixes` array to determine which objects to include in a transfer. Objects must start with one of the matching `include_prefixes` for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the `exclude_prefixes` specified for inclusion in the transfer. The following are requirements of `include_prefixes`: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include-prefix as `logs/y=2015/requests.gz`. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of `include_prefixes` is 1000. For more information, see [Filtering objects from transfers](/storage-transfer/docs/filtering-objects-from-transfers).
           &quot;A String&quot;,
         ],
+        &quot;includeStorageClasses&quot;: [ # Optional. If specified, objects in the source matching any of the storage classes in this field will be transferred. Objects in storage classes not included in this field will be skipped. If empty, the default behavior regarding the storage classes is applied. This includes all storage classes except &quot;GLACIER&quot; as per default behavior. Currently, this field only supports S3 data source. For the list of valid Amazon S3 storage classnames, please refer to the AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html
+          &quot;A String&quot;,
+        ],
         &quot;lastModifiedBefore&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; before this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred.
         &quot;lastModifiedSince&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; on or after this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day&#x27;s worth of data at a time. For that you&#x27;d set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day
         &quot;matchGlob&quot;: &quot;A String&quot;, # Optional. If specified, only objects matching this glob are transferred.
@@ -1070,7 +1097,7 @@
       },
       &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # Specifies the metadata options to be applied during replication. Delete options are not supported. If a delete option is specified, the request fails with an INVALID_ARGUMENT error.
         &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
-        &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+        &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted from the sink. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
         &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
           &quot;acl&quot;: &quot;A String&quot;, # Specifies how each object&#x27;s ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.
           &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
@@ -1181,6 +1208,9 @@
         &quot;includePrefixes&quot;: [ # If you specify `include_prefixes`, Storage Transfer Service uses the items in the `include_prefixes` array to determine which objects to include in a transfer. Objects must start with one of the matching `include_prefixes` for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the `exclude_prefixes` specified for inclusion in the transfer. The following are requirements of `include_prefixes`: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include-prefix as `logs/y=2015/requests.gz`. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of `include_prefixes` is 1000. For more information, see [Filtering objects from transfers](/storage-transfer/docs/filtering-objects-from-transfers).
           &quot;A String&quot;,
         ],
+        &quot;includeStorageClasses&quot;: [ # Optional. If specified, objects in the source matching any of the storage classes in this field will be transferred. Objects in storage classes not included in this field will be skipped. If empty, the default behavior regarding the storage classes is applied. This includes all storage classes except &quot;GLACIER&quot; as per default behavior. Currently, this field only supports S3 data source. For the list of valid Amazon S3 storage classnames, please refer to the AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html
+          &quot;A String&quot;,
+        ],
         &quot;lastModifiedBefore&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; before this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred.
         &quot;lastModifiedSince&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; on or after this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day&#x27;s worth of data at a time. For that you&#x27;d set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day
         &quot;matchGlob&quot;: &quot;A String&quot;, # Optional. If specified, only objects matching this glob are transferred.
@@ -1200,7 +1230,7 @@
       },
       &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as &#x27;last modification time&#x27; are specified, the request fails with an INVALID_ARGUMENT error.
         &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
-        &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+        &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted from the sink. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
         &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
           &quot;acl&quot;: &quot;A String&quot;, # Specifies how each object&#x27;s ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.
           &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
@@ -1275,6 +1305,9 @@
       &quot;includePrefixes&quot;: [ # If you specify `include_prefixes`, Storage Transfer Service uses the items in the `include_prefixes` array to determine which objects to include in a transfer. Objects must start with one of the matching `include_prefixes` for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the `exclude_prefixes` specified for inclusion in the transfer. The following are requirements of `include_prefixes`: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include-prefix as `logs/y=2015/requests.gz`. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of `include_prefixes` is 1000. For more information, see [Filtering objects from transfers](/storage-transfer/docs/filtering-objects-from-transfers).
         &quot;A String&quot;,
       ],
+      &quot;includeStorageClasses&quot;: [ # Optional. If specified, objects in the source matching any of the storage classes in this field will be transferred. Objects in storage classes not included in this field will be skipped. If empty, the default behavior regarding the storage classes is applied. This includes all storage classes except &quot;GLACIER&quot; as per default behavior. Currently, this field only supports S3 data source. For the list of valid Amazon S3 storage classnames, please refer to the AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html
+        &quot;A String&quot;,
+      ],
       &quot;lastModifiedBefore&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; before this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred.
       &quot;lastModifiedSince&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; on or after this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day&#x27;s worth of data at a time. For that you&#x27;d set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day
       &quot;matchGlob&quot;: &quot;A String&quot;, # Optional. If specified, only objects matching this glob are transferred.
@@ -1283,7 +1316,7 @@
     },
     &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # Specifies the metadata options to be applied during replication. Delete options are not supported. If a delete option is specified, the request fails with an INVALID_ARGUMENT error.
       &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
-      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted from the sink. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
       &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
         &quot;acl&quot;: &quot;A String&quot;, # Specifies how each object&#x27;s ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.
         &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
@@ -1394,6 +1427,9 @@
       &quot;includePrefixes&quot;: [ # If you specify `include_prefixes`, Storage Transfer Service uses the items in the `include_prefixes` array to determine which objects to include in a transfer. Objects must start with one of the matching `include_prefixes` for inclusion in the transfer. If exclude_prefixes is specified, objects must not start with any of the `exclude_prefixes` specified for inclusion in the transfer. The following are requirements of `include_prefixes`: * Each include-prefix can contain any sequence of Unicode characters, to a max length of 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * Each include-prefix must omit the leading slash. For example, to include the object `s3://my-aws-bucket/logs/y=2015/requests.gz`, specify the include-prefix as `logs/y=2015/requests.gz`. * None of the include-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace. No include-prefix may be a prefix of another include-prefix. The max size of `include_prefixes` is 1000. For more information, see [Filtering objects from transfers](/storage-transfer/docs/filtering-objects-from-transfers).
         &quot;A String&quot;,
       ],
+      &quot;includeStorageClasses&quot;: [ # Optional. If specified, objects in the source matching any of the storage classes in this field will be transferred. Objects in storage classes not included in this field will be skipped. If empty, the default behavior regarding the storage classes is applied. This includes all storage classes except &quot;GLACIER&quot; as per default behavior. Currently, this field only supports S3 data source. For the list of valid Amazon S3 storage classnames, please refer to the AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html
+        &quot;A String&quot;,
+      ],
       &quot;lastModifiedBefore&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; before this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred.
       &quot;lastModifiedSince&quot;: &quot;A String&quot;, # If specified, only objects with a &quot;last modification time&quot; on or after this timestamp and objects that don&#x27;t have a &quot;last modification time&quot; are transferred. The `last_modified_since` and `last_modified_before` fields can be used together for chunked data processing. For example, consider a script that processes each day&#x27;s worth of data at a time. For that you&#x27;d set each of the fields as follows: * `last_modified_since` to the start of the day * `last_modified_before` to the end of the day
       &quot;matchGlob&quot;: &quot;A String&quot;, # Optional. If specified, only objects matching this glob are transferred.
@@ -1413,7 +1449,7 @@
     },
     &quot;transferOptions&quot;: { # TransferOptions define the actions to be performed on objects in a transfer. # If the option delete_objects_unique_in_sink is `true` and time-based object conditions such as &#x27;last modification time&#x27; are specified, the request fails with an INVALID_ARGUMENT error.
       &quot;deleteObjectsFromSourceAfterTransfer&quot;: True or False, # Whether objects should be deleted from the source after they are transferred to the sink. **Note:** This option and delete_objects_unique_in_sink are mutually exclusive.
-      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
+      &quot;deleteObjectsUniqueInSink&quot;: True or False, # Whether objects that exist only in the sink should be deleted from the sink. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.
       &quot;metadataOptions&quot;: { # Specifies the metadata options for running a transfer. # Represents the selected metadata options for a transfer job.
         &quot;acl&quot;: &quot;A String&quot;, # Specifies how each object&#x27;s ACLs should be preserved for transfers between Google Cloud Storage buckets. If unspecified, the default behavior is the same as ACL_DESTINATION_BUCKET_DEFAULT.
         &quot;gid&quot;: &quot;A String&quot;, # Specifies how each file&#x27;s POSIX group ID (GID) attribute should be handled by the transfer. By default, GID is not preserved. Only applicable to transfers involving POSIX file systems, and ignored for other transfers.
diff --git a/docs/dyn/sts_v1.html b/docs/dyn/sts_v1.html
index 16ba059..65c8777 100644
--- a/docs/dyn/sts_v1.html
+++ b/docs/dyn/sts_v1.html
@@ -75,6 +75,16 @@
 <h1><a href="sts_v1.html">Security Token Service API</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="sts_v1.organizations.html">organizations()</a></code>
+</p>
+<p class="firstline">Returns the organizations Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sts_v1.projects.html">projects()</a></code>
+</p>
+<p class="firstline">Returns the projects Resource.</p>
+
+<p class="toc_element">
   <code><a href="sts_v1.v1.html">v1()</a></code>
 </p>
 <p class="firstline">Returns the v1 Resource.</p>
diff --git a/docs/dyn/sts_v1.organizations.html b/docs/dyn/sts_v1.organizations.html
new file mode 100644
index 0000000..335f5c4
--- /dev/null
+++ b/docs/dyn/sts_v1.organizations.html
@@ -0,0 +1,91 @@
+<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="sts_v1.html">Security Token Service API</a> . <a href="sts_v1.organizations.html">organizations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="sts_v1.organizations.locations.html">locations()</a></code>
+</p>
+<p class="firstline">Returns the locations 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/sts_v1.organizations.locations.html b/docs/dyn/sts_v1.organizations.locations.html
new file mode 100644
index 0000000..f356d65
--- /dev/null
+++ b/docs/dyn/sts_v1.organizations.locations.html
@@ -0,0 +1,91 @@
+<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="sts_v1.html">Security Token Service API</a> . <a href="sts_v1.organizations.html">organizations</a> . <a href="sts_v1.organizations.locations.html">locations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="sts_v1.organizations.locations.workloadIdentityPools.html">workloadIdentityPools()</a></code>
+</p>
+<p class="firstline">Returns the workloadIdentityPools 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/sts_v1.organizations.locations.workloadIdentityPools.html b/docs/dyn/sts_v1.organizations.locations.workloadIdentityPools.html
new file mode 100644
index 0000000..23dcb19
--- /dev/null
+++ b/docs/dyn/sts_v1.organizations.locations.workloadIdentityPools.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="sts_v1.html">Security Token Service API</a> . <a href="sts_v1.organizations.html">organizations</a> . <a href="sts_v1.organizations.locations.html">locations</a> . <a href="sts_v1.organizations.locations.workloadIdentityPools.html">workloadIdentityPools</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="sts_v1.organizations.locations.workloadIdentityPools.openid.html">openid()</a></code>
+</p>
+<p class="firstline">Returns the openid Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sts_v1.organizations.locations.workloadIdentityPools.well_known.html">well_known()</a></code>
+</p>
+<p class="firstline">Returns the well_known 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/sts_v1.organizations.locations.workloadIdentityPools.openid.html b/docs/dyn/sts_v1.organizations.locations.workloadIdentityPools.openid.html
new file mode 100644
index 0000000..6e9a110
--- /dev/null
+++ b/docs/dyn/sts_v1.organizations.locations.workloadIdentityPools.openid.html
@@ -0,0 +1,116 @@
+<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="sts_v1.html">Security Token Service API</a> . <a href="sts_v1.organizations.html">organizations</a> . <a href="sts_v1.organizations.locations.html">locations</a> . <a href="sts_v1.organizations.locations.workloadIdentityPools.html">workloadIdentityPools</a> . <a href="sts_v1.organizations.locations.workloadIdentityPools.openid.html">openid</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="#getJwks">getJwks(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Fetches the signing keys for an agentic or managed workload identity pool and returns them in JWKs format, defined in [RFC 7517](https://tools.ietf.org/html/rfc7517). For now, only agentic system pools are supported.</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="getJwks">getJwks(name, x__xgafv=None)</code>
+  <pre>Fetches the signing keys for an agentic or managed workload identity pool and returns them in JWKs format, defined in [RFC 7517](https://tools.ietf.org/html/rfc7517). For now, only agentic system pools are supported.
+
+Args:
+  name: string, Required. The name of the pool whose JWKS needs to be retrieved. Format: &#x27;organizations/{ORGANIZATION_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}&#x27; &#x27;projects/{PROJECT_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}&#x27; Example(s): &#x27;organizations/1234/locations/global/workloadIdentityPools/agents.global.org-1234.system.id.goog&#x27; &#x27;projects/12345678/locations/global/workloadIdentityPools/agents.global.proj-12345678.system.id.goog&#x27; (required)
+  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 GetJwks.
+  &quot;keys&quot;: [ # The JWKS for this OP.
+    { # A JSON web key set (JWK) See also https://datatracker.ietf.org/doc/html/rfc7517 and https://github.com/spiffe/spiffe/blob/main/standards/JWT-SVID.md#6-representation-in-the-spiffe-bundle
+      &quot;e&quot;: &quot;A String&quot;, # Exponent value for kty=&quot;RSA&quot;.
+      &quot;kid&quot;: &quot;A String&quot;, # Key ID.
+      &quot;kty&quot;: &quot;A String&quot;, # Key type. Currently &quot;RSA&quot;.
+      &quot;n&quot;: &quot;A String&quot;, # Modulus value for kty=&quot;RSA&quot;.
+      &quot;use&quot;: &quot;A String&quot;, # Public key use. Currently &quot;jwt-svid&quot;.
+    },
+  ],
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sts_v1.organizations.locations.workloadIdentityPools.well_known.html b/docs/dyn/sts_v1.organizations.locations.workloadIdentityPools.well_known.html
new file mode 100644
index 0000000..8d61a36
--- /dev/null
+++ b/docs/dyn/sts_v1.organizations.locations.workloadIdentityPools.well_known.html
@@ -0,0 +1,120 @@
+<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="sts_v1.html">Security Token Service API</a> . <a href="sts_v1.organizations.html">organizations</a> . <a href="sts_v1.organizations.locations.html">locations</a> . <a href="sts_v1.organizations.locations.workloadIdentityPools.html">workloadIdentityPools</a> . <a href="sts_v1.organizations.locations.workloadIdentityPools.well_known.html">well_known</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="#getOpenid_configuration">getOpenid_configuration(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the OIDC provider configuration for an agentic or managed workload identity pool following [the OIDC 1.0 discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). For now, only agentic system pools are supported.</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="getOpenid_configuration">getOpenid_configuration(name, x__xgafv=None)</code>
+  <pre>Gets the OIDC provider configuration for an agentic or managed workload identity pool following [the OIDC 1.0 discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). For now, only agentic system pools are supported.
+
+Args:
+  name: string, Required. The name of the pool whose OpenID provider configuration to retrieve. Format: &#x27;organizations/{ORGANIZATION_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}&#x27; &#x27;projects/{PROJECT_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}&#x27; Example: &#x27;organizations/1234/locations/global/workloadIdentityPools/agents.global.org-1234.system.id.goog&#x27; &#x27;projects/12345678/locations/global/workloadIdentityPools/agents.global.proj-12345678.system.id.goog&#x27; (required)
+  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 GetOpenIdProviderConfig. Message fields are defined in https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse
+  &quot;authorization_endpoint&quot;: &quot;A String&quot;, # URL pointing to an authorization endpoint under this issuer. Note: Currently this endpoint returns a 404.
+  &quot;id_token_signing_alg_values_supported&quot;: [ # JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID token to encode the claims in a JWT [JWT]. Note: Currently always &quot;[&quot;RS256&quot;]&quot;.
+    &quot;A String&quot;,
+  ],
+  &quot;issuer&quot;: &quot;A String&quot;, # URL using the https scheme with no query or fragment components that the OP asserts as its issuer identifier.
+  &quot;jwks_uri&quot;: &quot;A String&quot;, # URL of the OP&#x27;s JWK Set [JWK] document, which MUST use the https scheme.
+  &quot;response_types_supported&quot;: [ # JSON array containing a list of the OAuth 2.0 response_type values that this OP supports. Note: Currently always &quot;[&quot;id_token&quot;]&quot;.
+    &quot;A String&quot;,
+  ],
+  &quot;subject_types_supported&quot;: [ # JSON array containing a list of the subject identifier types that this OP supports. Note: Currently always &quot;[&quot;public&quot;]&quot;.
+    &quot;A String&quot;,
+  ],
+  &quot;token_endpoint&quot;: &quot;A String&quot;, # URL pointing to a token endpoint under this issuer. Note: Currently this endpoint returns a 404.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sts_v1.projects.html b/docs/dyn/sts_v1.projects.html
new file mode 100644
index 0000000..166a03a
--- /dev/null
+++ b/docs/dyn/sts_v1.projects.html
@@ -0,0 +1,91 @@
+<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="sts_v1.html">Security Token Service API</a> . <a href="sts_v1.projects.html">projects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="sts_v1.projects.locations.html">locations()</a></code>
+</p>
+<p class="firstline">Returns the locations 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/sts_v1.projects.locations.html b/docs/dyn/sts_v1.projects.locations.html
new file mode 100644
index 0000000..0fdfdd3
--- /dev/null
+++ b/docs/dyn/sts_v1.projects.locations.html
@@ -0,0 +1,91 @@
+<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="sts_v1.html">Security Token Service API</a> . <a href="sts_v1.projects.html">projects</a> . <a href="sts_v1.projects.locations.html">locations</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="sts_v1.projects.locations.workloadIdentityPools.html">workloadIdentityPools()</a></code>
+</p>
+<p class="firstline">Returns the workloadIdentityPools 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/sts_v1.projects.locations.workloadIdentityPools.html b/docs/dyn/sts_v1.projects.locations.workloadIdentityPools.html
new file mode 100644
index 0000000..c0757ed
--- /dev/null
+++ b/docs/dyn/sts_v1.projects.locations.workloadIdentityPools.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="sts_v1.html">Security Token Service API</a> . <a href="sts_v1.projects.html">projects</a> . <a href="sts_v1.projects.locations.html">locations</a> . <a href="sts_v1.projects.locations.workloadIdentityPools.html">workloadIdentityPools</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="sts_v1.projects.locations.workloadIdentityPools.openid.html">openid()</a></code>
+</p>
+<p class="firstline">Returns the openid Resource.</p>
+
+<p class="toc_element">
+  <code><a href="sts_v1.projects.locations.workloadIdentityPools.well_known.html">well_known()</a></code>
+</p>
+<p class="firstline">Returns the well_known 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/sts_v1.projects.locations.workloadIdentityPools.openid.html b/docs/dyn/sts_v1.projects.locations.workloadIdentityPools.openid.html
new file mode 100644
index 0000000..35252af
--- /dev/null
+++ b/docs/dyn/sts_v1.projects.locations.workloadIdentityPools.openid.html
@@ -0,0 +1,116 @@
+<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="sts_v1.html">Security Token Service API</a> . <a href="sts_v1.projects.html">projects</a> . <a href="sts_v1.projects.locations.html">locations</a> . <a href="sts_v1.projects.locations.workloadIdentityPools.html">workloadIdentityPools</a> . <a href="sts_v1.projects.locations.workloadIdentityPools.openid.html">openid</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="#getJwks">getJwks(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Fetches the signing keys for an agentic or managed workload identity pool and returns them in JWKs format, defined in [RFC 7517](https://tools.ietf.org/html/rfc7517). For now, only agentic system pools are supported.</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="getJwks">getJwks(name, x__xgafv=None)</code>
+  <pre>Fetches the signing keys for an agentic or managed workload identity pool and returns them in JWKs format, defined in [RFC 7517](https://tools.ietf.org/html/rfc7517). For now, only agentic system pools are supported.
+
+Args:
+  name: string, Required. The name of the pool whose JWKS needs to be retrieved. Format: &#x27;organizations/{ORGANIZATION_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}&#x27; &#x27;projects/{PROJECT_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}&#x27; Example(s): &#x27;organizations/1234/locations/global/workloadIdentityPools/agents.global.org-1234.system.id.goog&#x27; &#x27;projects/12345678/locations/global/workloadIdentityPools/agents.global.proj-12345678.system.id.goog&#x27; (required)
+  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 GetJwks.
+  &quot;keys&quot;: [ # The JWKS for this OP.
+    { # A JSON web key set (JWK) See also https://datatracker.ietf.org/doc/html/rfc7517 and https://github.com/spiffe/spiffe/blob/main/standards/JWT-SVID.md#6-representation-in-the-spiffe-bundle
+      &quot;e&quot;: &quot;A String&quot;, # Exponent value for kty=&quot;RSA&quot;.
+      &quot;kid&quot;: &quot;A String&quot;, # Key ID.
+      &quot;kty&quot;: &quot;A String&quot;, # Key type. Currently &quot;RSA&quot;.
+      &quot;n&quot;: &quot;A String&quot;, # Modulus value for kty=&quot;RSA&quot;.
+      &quot;use&quot;: &quot;A String&quot;, # Public key use. Currently &quot;jwt-svid&quot;.
+    },
+  ],
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/sts_v1.projects.locations.workloadIdentityPools.well_known.html b/docs/dyn/sts_v1.projects.locations.workloadIdentityPools.well_known.html
new file mode 100644
index 0000000..167a0f5
--- /dev/null
+++ b/docs/dyn/sts_v1.projects.locations.workloadIdentityPools.well_known.html
@@ -0,0 +1,120 @@
+<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="sts_v1.html">Security Token Service API</a> . <a href="sts_v1.projects.html">projects</a> . <a href="sts_v1.projects.locations.html">locations</a> . <a href="sts_v1.projects.locations.workloadIdentityPools.html">workloadIdentityPools</a> . <a href="sts_v1.projects.locations.workloadIdentityPools.well_known.html">well_known</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="#getOpenid_configuration">getOpenid_configuration(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the OIDC provider configuration for an agentic or managed workload identity pool following [the OIDC 1.0 discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). For now, only agentic system pools are supported.</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="getOpenid_configuration">getOpenid_configuration(name, x__xgafv=None)</code>
+  <pre>Gets the OIDC provider configuration for an agentic or managed workload identity pool following [the OIDC 1.0 discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). For now, only agentic system pools are supported.
+
+Args:
+  name: string, Required. The name of the pool whose OpenID provider configuration to retrieve. Format: &#x27;organizations/{ORGANIZATION_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}&#x27; &#x27;projects/{PROJECT_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}&#x27; Example: &#x27;organizations/1234/locations/global/workloadIdentityPools/agents.global.org-1234.system.id.goog&#x27; &#x27;projects/12345678/locations/global/workloadIdentityPools/agents.global.proj-12345678.system.id.goog&#x27; (required)
+  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 GetOpenIdProviderConfig. Message fields are defined in https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse
+  &quot;authorization_endpoint&quot;: &quot;A String&quot;, # URL pointing to an authorization endpoint under this issuer. Note: Currently this endpoint returns a 404.
+  &quot;id_token_signing_alg_values_supported&quot;: [ # JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID token to encode the claims in a JWT [JWT]. Note: Currently always &quot;[&quot;RS256&quot;]&quot;.
+    &quot;A String&quot;,
+  ],
+  &quot;issuer&quot;: &quot;A String&quot;, # URL using the https scheme with no query or fragment components that the OP asserts as its issuer identifier.
+  &quot;jwks_uri&quot;: &quot;A String&quot;, # URL of the OP&#x27;s JWK Set [JWK] document, which MUST use the https scheme.
+  &quot;response_types_supported&quot;: [ # JSON array containing a list of the OAuth 2.0 response_type values that this OP supports. Note: Currently always &quot;[&quot;id_token&quot;]&quot;.
+    &quot;A String&quot;,
+  ],
+  &quot;subject_types_supported&quot;: [ # JSON array containing a list of the subject identifier types that this OP supports. Note: Currently always &quot;[&quot;public&quot;]&quot;.
+    &quot;A String&quot;,
+  ],
+  &quot;token_endpoint&quot;: &quot;A String&quot;, # URL pointing to a token endpoint under this issuer. Note: Currently this endpoint returns a 404.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/travelimpactmodel_v1.flights.html b/docs/dyn/travelimpactmodel_v1.flights.html
index 7085301..1d6228e 100644
--- a/docs/dyn/travelimpactmodel_v1.flights.html
+++ b/docs/dyn/travelimpactmodel_v1.flights.html
@@ -158,12 +158,6 @@
               &quot;loadFactorsData&quot;: 3.14, # Output only. The load factors data value. If not set, the load factors value is not available.
               &quot;loadFactorsT100Strategy&quot;: &quot;A String&quot;, # Output only. Strategy for T100 load factors.
               &quot;provenanceEntryType&quot;: &quot;A String&quot;, # Output only. The type of the provenance entry.
-              &quot;seatAreaRatioData&quot;: { # Seat area ratio data values. Economy is always 1.0 and serves as the reference point; other class values are relative to economy. All 4 fields are always set whether the seating class exists on the aircraft or not. # Output only. The seat area ratio value for each seating class. If not set, the seat area ratio value is not available.
-                &quot;business&quot;: 3.14, # Output only. Business seating class data value.
-                &quot;economy&quot;: 3.14, # Output only. Economy seating class data value.
-                &quot;first&quot;: 3.14, # Output only. First seating class data value.
-                &quot;premiumEconomy&quot;: 3.14, # Output only. Premium economy seating class data value.
-              },
               &quot;seatAreaRatioIataStrategy&quot;: &quot;A String&quot;, # Output only. Strategy for IATA seat area ratios.
               &quot;source&quot;: &quot;A String&quot;, # Output only. The source of the data.
               &quot;sourceVersion&quot;: &quot;A String&quot;, # Output only. The version of the source data. For example, &quot;2025/04&quot;.
diff --git a/googleapiclient/discovery_cache/documents/agentregistry.v1.json b/googleapiclient/discovery_cache/documents/agentregistry.v1.json
new file mode 100644
index 0000000..4267b81
--- /dev/null
+++ b/googleapiclient/discovery_cache/documents/agentregistry.v1.json
@@ -0,0 +1,2080 @@
+{
+"auth": {
+"oauth2": {
+"scopes": {
+"https://www.googleapis.com/auth/agentregistry.read-only": {
+"description": "See your Google Cloud Agent Registry data and the email address of your Google Account"
+},
+"https://www.googleapis.com/auth/agentregistry.read-write": {
+"description": "See, edit, configure, and delete your Google Cloud Agent Registry data and see the email address for your Google Account"
+},
+"https://www.googleapis.com/auth/cloud-platform": {
+"description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
+},
+"https://www.googleapis.com/auth/cloud-platform.read-only": {
+"description": "View your data across Google Cloud services and see the email address of your Google Account"
+}
+}
+}
+},
+"basePath": "",
+"baseUrl": "https://agentregistry.googleapis.com/",
+"batchPath": "batch",
+"canonicalName": "Agent Registry",
+"description": "Agent Registry is a centralized, unified catalog that lets you store, discover, and govern Model Context Protocol (MCP) servers, tools, and AI agents within Google Cloud.",
+"discoveryVersion": "v1",
+"documentationLink": "https://docs.cloud.google.com/agent-registry/overview",
+"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": "agentregistry:v1",
+"kind": "discovery#restDescription",
+"mtlsRootUrl": "https://agentregistry.mtls.googleapis.com/",
+"name": "agentregistry",
+"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": {
+"locations": {
+"methods": {
+"get": {
+"description": "Gets information about a location.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Resource name for the location.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "Location"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"list": {
+"description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.",
+"flatPath": "v1/projects/{projectsId}/locations",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.list",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"extraLocationTypes": {
+"description": "Optional. Do not use this field unless explicitly documented otherwise. This is primarily for internal usage.",
+"location": "query",
+"repeated": true,
+"type": "string"
+},
+"filter": {
+"description": "A filter to narrow down results to a preferred subset. The filtering language accepts strings like `\"displayName=tokyo\"`, and is documented in more detail in [AIP-160](https://google.aip.dev/160).",
+"location": "query",
+"type": "string"
+},
+"name": {
+"description": "The resource that owns the locations collection, if applicable.",
+"location": "path",
+"pattern": "^projects/[^/]+$",
+"required": true,
+"type": "string"
+},
+"pageSize": {
+"description": "The maximum number of results to return. If not set, the service selects a default.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "A page token received from the `next_page_token` field in the response. Send that page token to receive the subsequent page.",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+name}/locations",
+"response": {
+"$ref": "ListLocationsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform"
+]
+}
+},
+"resources": {
+"agents": {
+"methods": {
+"get": {
+"description": "Gets details of a single Agent.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.agents.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. Name of the resource",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "Agent"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"list": {
+"description": "Lists Agents in a given project and location.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agents",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.agents.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"filter": {
+"description": "Optional. Filtering results",
+"location": "query",
+"type": "string"
+},
+"orderBy": {
+"description": "Optional. Hint for how to order the results",
+"location": "query",
+"type": "string"
+},
+"pageSize": {
+"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. A token identifying a page of results the server should return.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. Parent value for ListAgentsRequest",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/agents",
+"response": {
+"$ref": "ListAgentsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"search": {
+"description": "Searches Agents in a given project and location.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agents:search",
+"httpMethod": "POST",
+"id": "agentregistry.projects.locations.agents.search",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"parent": {
+"description": "Required. Parent value for SearchAgentsRequest. Format: `projects/{project}/locations/{location}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/agents:search",
+"request": {
+"$ref": "SearchAgentsRequest"
+},
+"response": {
+"$ref": "SearchAgentsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+}
+}
+},
+"bindings": {
+"methods": {
+"create": {
+"description": "Creates a new Binding in a given project and location.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bindings",
+"httpMethod": "POST",
+"id": "agentregistry.projects.locations.bindings.create",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"bindingId": {
+"description": "Required. The ID to use for the binding, which will become the final component of the binding's resource name. This value should be 4-63 characters, and must conform to RFC-1034. Specifically, it must match the regular expression `^[a-z]([a-z0-9-]{0,61}[a-z0-9])?$`.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The project and location to create the Binding in. Expected format: `projects/{project}/locations/{location}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+},
+"requestId": {
+"description": "Optional. 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. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+parent}/bindings",
+"request": {
+"$ref": "Binding"
+},
+"response": {
+"$ref": "Operation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"delete": {
+"description": "Deletes a single Binding.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bindings/{bindingsId}",
+"httpMethod": "DELETE",
+"id": "agentregistry.projects.locations.bindings.delete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the Binding. Format: `projects/{project}/locations/{location}/bindings/{binding}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/bindings/[^/]+$",
+"required": true,
+"type": "string"
+},
+"requestId": {
+"description": "Optional. 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. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "Operation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"fetchAvailable": {
+"description": "Fetches available Bindings.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bindings:fetchAvailable",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.bindings.fetchAvailable",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"pageSize": {
+"description": "Optional. Requested page size. Server may return fewer items than requested. Page size is 500 if unspecified and is capped at `500` even if a larger value is given.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. A token identifying a page of results the server should return.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The parent, in the format `projects/{project}/locations/{location}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+},
+"sourceIdentifier": {
+"description": "The identifier of the source Agent. Format: * `urn:agent:{publisher}:{namespace}:{name}`",
+"location": "query",
+"type": "string"
+},
+"targetIdentifier": {
+"description": "Optional. The identifier of the target Agent, MCP Server, or Endpoint. Format: * `urn:agent:{publisher}:{namespace}:{name}` * `urn:mcp:{publisher}:{namespace}:{name}` * `urn:endpoint:{publisher}:{namespace}:{name}`",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+parent}/bindings:fetchAvailable",
+"response": {
+"$ref": "FetchAvailableBindingsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"get": {
+"description": "Gets details of a single Binding.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bindings/{bindingsId}",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.bindings.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the Binding. Format: `projects/{project}/locations/{location}/bindings/{binding}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/bindings/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "Binding"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"list": {
+"description": "Lists Bindings in a given project and location.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bindings",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.bindings.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"filter": {
+"description": "Optional. A query string used to filter the list of bindings returned. The filter expression must follow AIP-160 syntax.",
+"location": "query",
+"type": "string"
+},
+"orderBy": {
+"description": "Optional. Hint for how to order the results",
+"location": "query",
+"type": "string"
+},
+"pageSize": {
+"description": "Optional. Requested page size. Server may return fewer items than requested. Page size is 500 if unspecified and is capped at `500` even if a larger value is given.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. A token identifying a page of results the server should return.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The project and location to list bindings in. Expected format: `projects/{project}/locations/{location}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/bindings",
+"response": {
+"$ref": "ListBindingsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"patch": {
+"description": "Updates the parameters of a single Binding.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/bindings/{bindingsId}",
+"httpMethod": "PATCH",
+"id": "agentregistry.projects.locations.bindings.patch",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. Identifier. The resource name of the Binding. Format: `projects/{project}/locations/{location}/bindings/{binding}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/bindings/[^/]+$",
+"required": true,
+"type": "string"
+},
+"requestId": {
+"description": "Optional. 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. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"location": "query",
+"type": "string"
+},
+"updateMask": {
+"description": "Optional. Field mask is used to specify the fields to be overwritten in the Binding resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields present in the request will be overwritten.",
+"format": "google-fieldmask",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"request": {
+"$ref": "Binding"
+},
+"response": {
+"$ref": "Operation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+}
+}
+},
+"endpoints": {
+"methods": {
+"get": {
+"description": "Gets details of a single Endpoint.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints/{endpointsId}",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.endpoints.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the endpoint to retrieve. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/endpoints/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "Endpoint"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"list": {
+"description": "Lists Endpoints in a given project and location.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/endpoints",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.endpoints.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"filter": {
+"description": "Optional. A query string used to filter the list of endpoints returned. The filter expression must follow AIP-160 syntax. Filtering is supported on the `name`, `display_name`, `description`, `version`, and `interfaces` fields. Some examples: * `name = \"projects/p1/locations/l1/endpoints/e1\"` * `display_name = \"my-endpoint\"` * `description = \"my-endpoint-description\"` * `version = \"v1\"` * `interfaces.transport = \"HTTP_JSON\"`",
+"location": "query",
+"type": "string"
+},
+"pageSize": {
+"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. A token identifying a page of results the server should return.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The project and location to list endpoints in. Expected format: `projects/{project}/locations/{location}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/endpoints",
+"response": {
+"$ref": "ListEndpointsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+}
+}
+},
+"mcpServers": {
+"methods": {
+"get": {
+"description": "Gets details of a single McpServer.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mcpServers/{mcpServersId}",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.mcpServers.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. Name of the resource",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/mcpServers/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "McpServer"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"list": {
+"description": "Lists McpServers in a given project and location.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mcpServers",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.mcpServers.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"filter": {
+"description": "Optional. Filtering results",
+"location": "query",
+"type": "string"
+},
+"orderBy": {
+"description": "Optional. Hint for how to order the results",
+"location": "query",
+"type": "string"
+},
+"pageSize": {
+"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. A token identifying a page of results the server should return.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. Parent value for ListMcpServersRequest. Format: `projects/{project}/locations/{location}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/mcpServers",
+"response": {
+"$ref": "ListMcpServersResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"search": {
+"description": "Searches McpServers in a given project and location.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/mcpServers:search",
+"httpMethod": "POST",
+"id": "agentregistry.projects.locations.mcpServers.search",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"parent": {
+"description": "Required. Parent value for SearchMcpServersRequest. Format: `projects/{project}/locations/{location}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/mcpServers:search",
+"request": {
+"$ref": "SearchMcpServersRequest"
+},
+"response": {
+"$ref": "SearchMcpServersResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+}
+}
+},
+"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. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}:cancel",
+"httpMethod": "POST",
+"id": "agentregistry.projects.locations.operations.cancel",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "The name of the operation resource to be cancelled.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}:cancel",
+"request": {
+"$ref": "CancelOperationRequest"
+},
+"response": {
+"$ref": "Empty"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"delete": {
+"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
+"httpMethod": "DELETE",
+"id": "agentregistry.projects.locations.operations.delete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "The name of the operation resource to be deleted.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "Empty"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"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.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.operations.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "The name of the operation resource.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "Operation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"list": {
+"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/operations",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.operations.list",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"filter": {
+"description": "The standard list filter.",
+"location": "query",
+"type": "string"
+},
+"name": {
+"description": "The name of the operation's parent resource.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+},
+"pageSize": {
+"description": "The standard list page size.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "The standard list page token.",
+"location": "query",
+"type": "string"
+},
+"returnPartialSuccess": {
+"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
+"location": "query",
+"type": "boolean"
+}
+},
+"path": "v1/{+name}/operations",
+"response": {
+"$ref": "ListOperationsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform"
+]
+}
+}
+},
+"services": {
+"methods": {
+"create": {
+"description": "Creates a new Service in a given project and location.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services",
+"httpMethod": "POST",
+"id": "agentregistry.projects.locations.services.create",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"parent": {
+"description": "Required. The project and location to create the Service in. Expected format: `projects/{project}/locations/{location}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+},
+"requestId": {
+"description": "Optional. 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. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"location": "query",
+"type": "string"
+},
+"serviceId": {
+"description": "Required. The ID to use for the service, which will become the final component of the service's resource name. This value should be 4-63 characters, and valid characters are `/a-z-/`.",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+parent}/services",
+"request": {
+"$ref": "Service"
+},
+"response": {
+"$ref": "Operation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"delete": {
+"description": "Deletes a single Service.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}",
+"httpMethod": "DELETE",
+"id": "agentregistry.projects.locations.services.delete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the Service. Format: `projects/{project}/locations/{location}/services/{service}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$",
+"required": true,
+"type": "string"
+},
+"requestId": {
+"description": "Optional. 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. The server will guarantee that for at least 60 minutes after the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "Operation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"get": {
+"description": "Gets details of a single Service.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.services.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the Service. Format: `projects/{project}/locations/{location}/services/{service}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "Service"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"list": {
+"description": "Lists Services in a given project and location.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services",
+"httpMethod": "GET",
+"id": "agentregistry.projects.locations.services.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"filter": {
+"description": "Optional. A query string used to filter the list of services returned. The filter expression must follow AIP-160 syntax. Filtering is supported on the `name`, `display_name`, `description`, and `labels` fields. Some examples: * `name = \"projects/p1/locations/l1/services/s1\"` * `display_name = \"my-service\"` * `description : \"myservice description\"` * `labels.env = \"prod\"`",
+"location": "query",
+"type": "string"
+},
+"pageSize": {
+"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, server will pick an appropriate default.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. A token identifying a page of results the server should return.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The project and location to list services in. Expected format: `projects/{project}/locations/{location}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/services",
+"response": {
+"$ref": "ListServicesResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+},
+"patch": {
+"description": "Updates the parameters of a single Service.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/services/{servicesId}",
+"httpMethod": "PATCH",
+"id": "agentregistry.projects.locations.services.patch",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Identifier. The resource name of the Service. Format: `projects/{project}/locations/{location}/services/{service}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/services/[^/]+$",
+"required": true,
+"type": "string"
+},
+"requestId": {
+"description": "Optional. 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. The server will guarantee that for at least 60 minutes since the first request. For example, consider a situation where you make an initial request and the request times out. If you make the request again with the same request ID, the server can check if original operation with the same request ID was received, and if so, will ignore the second request. This prevents clients from accidentally creating duplicate commitments. The request ID must be a valid UUID with the exception that zero UUID is not supported (00000000-0000-0000-0000-000000000000).",
+"location": "query",
+"type": "string"
+},
+"updateMask": {
+"description": "Optional. Field mask is used to specify the fields to be overwritten in the Service resource by the update. The fields specified in the update_mask are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the user does not provide a mask then all fields present in the request will be overwritten.",
+"format": "google-fieldmask",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"request": {
+"$ref": "Service"
+},
+"response": {
+"$ref": "Operation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/agentregistry.read-only",
+"https://www.googleapis.com/auth/agentregistry.read-write",
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/cloud-platform.read-only"
+]
+}
+}
+}
+}
+}
+}
+}
+},
+"revision": "20260617",
+"rootUrl": "https://agentregistry.googleapis.com/",
+"schemas": {
+"A2ASkill": {
+"description": "Represents the skills of an Agent.",
+"id": "A2ASkill",
+"properties": {
+"description": {
+"description": "Output only. A more detailed description of the skill.",
+"readOnly": true,
+"type": "string"
+},
+"examples": {
+"description": "Output only. Example prompts or scenarios this skill can handle.",
+"items": {
+"type": "string"
+},
+"readOnly": true,
+"type": "array"
+},
+"id": {
+"description": "Output only. A unique identifier for the agent's skill.",
+"readOnly": true,
+"type": "string"
+},
+"name": {
+"description": "Output only. A human-readable name for the agent's skill.",
+"readOnly": true,
+"type": "string"
+},
+"tags": {
+"description": "Output only. Keywords describing the skill.",
+"items": {
+"type": "string"
+},
+"readOnly": true,
+"type": "array"
+}
+},
+"type": "object"
+},
+"Agent": {
+"description": "Represents an Agent. \"A2A\" below refers to the Agent-to-Agent protocol.",
+"id": "Agent",
+"properties": {
+"agentId": {
+"description": "Output only. A stable, globally unique identifier for agents.",
+"readOnly": true,
+"type": "string"
+},
+"attributes": {
+"additionalProperties": {
+"additionalProperties": {
+"description": "Properties of the object.",
+"type": "any"
+},
+"type": "object"
+},
+"description": "Output only. Attributes of the Agent. Valid values: * `agentregistry.googleapis.com/system/Framework`: {\"framework\": \"google-adk\"} - the agent framework used to develop the Agent. Example values: \"google-adk\", \"langchain\", \"custom\". * `agentregistry.googleapis.com/system/RuntimeIdentity`: {\"principal\": \"principal://...\"} - the runtime identity associated with the Agent. * `agentregistry.googleapis.com/system/RuntimeReference`: {\"uri\": \"//...\"} - the URI of the underlying resource hosting the Agent, for example, the Reasoning Engine URI.",
+"readOnly": true,
+"type": "object"
+},
+"card": {
+"$ref": "Card",
+"description": "Output only. Full Agent Card payload, when available.",
+"readOnly": true
+},
+"createTime": {
+"description": "Output only. Create time.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"description": {
+"description": "Output only. The description of the Agent, often obtained from the A2A Agent Card. Empty if Agent Card has no description.",
+"readOnly": true,
+"type": "string"
+},
+"displayName": {
+"description": "Output only. The display name of the agent, often obtained from the A2A Agent Card.",
+"readOnly": true,
+"type": "string"
+},
+"location": {
+"description": "Output only. The location where agent is hosted. The value is defined by the hosting environment (i.e. cloud provider).",
+"readOnly": true,
+"type": "string"
+},
+"name": {
+"description": "Identifier. The resource name of an Agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.",
+"type": "string"
+},
+"protocols": {
+"description": "Output only. The connection details for the Agent.",
+"items": {
+"$ref": "Protocol"
+},
+"readOnly": true,
+"type": "array"
+},
+"skills": {
+"description": "Output only. Skills the agent possesses, often obtained from the A2A Agent Card.",
+"items": {
+"$ref": "A2ASkill"
+},
+"readOnly": true,
+"type": "array"
+},
+"uid": {
+"description": "Output only. A universally unique identifier for the Agent.",
+"readOnly": true,
+"type": "string"
+},
+"updateTime": {
+"description": "Output only. Update time.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"version": {
+"description": "Output only. The version of the Agent, often obtained from the A2A Agent Card. Empty if Agent Card has no version or agent is not an A2A Agent.",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"AgentSpec": {
+"description": "The spec of the agent.",
+"id": "AgentSpec",
+"properties": {
+"content": {
+"additionalProperties": {
+"description": "Properties of the object.",
+"type": "any"
+},
+"description": "Optional. The content of the Agent spec in the JSON format. This payload is validated against the schema for the specified type. The content size is limited to `10KB`.",
+"type": "object"
+},
+"type": {
+"description": "Required. The type of the agent spec content.",
+"enum": [
+"TYPE_UNSPECIFIED",
+"NO_SPEC",
+"A2A_AGENT_CARD"
+],
+"enumDescriptions": [
+"Unspecified type.",
+"There is no spec for the Agent. The `content` field must be empty.",
+"The content is an A2A Agent Card following the A2A specification. The `interfaces` field must be empty."
+],
+"type": "string"
+}
+},
+"type": "object"
+},
+"Annotations": {
+"description": "Annotations describing the characteristics and behavior of a tool or operation.",
+"id": "Annotations",
+"properties": {
+"destructiveHint": {
+"description": "Output only. If true, the tool may perform destructive updates to its environment. If false, the tool performs only additive updates. NOTE: This property is meaningful only when `read_only_hint == false` Default: true",
+"readOnly": true,
+"type": "boolean"
+},
+"idempotentHint": {
+"description": "Output only. If true, calling the tool repeatedly with the same arguments will have no additional effect on its environment. NOTE: This property is meaningful only when `read_only_hint == false` Default: false",
+"readOnly": true,
+"type": "boolean"
+},
+"openWorldHint": {
+"description": "Output only. If true, this tool may interact with an \"open world\" of external entities. If false, the tool's domain of interaction is closed. For example, the world of a web search tool is open, whereas that of a memory tool is not. Default: true",
+"readOnly": true,
+"type": "boolean"
+},
+"readOnlyHint": {
+"description": "Output only. If true, the tool does not modify its environment. Default: false",
+"readOnly": true,
+"type": "boolean"
+},
+"title": {
+"description": "Output only. A human-readable title for the tool.",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"AuthProviderBinding": {
+"description": "The AuthProvider of the Binding.",
+"id": "AuthProviderBinding",
+"properties": {
+"authProvider": {
+"description": "Required. The resource name of the target AuthProvider. Format: * `projects/{project}/locations/{location}/authProviders/{auth_provider}`",
+"type": "string"
+},
+"continueUri": {
+"description": "Optional. The continue URI of the AuthProvider. The URI is used to reauthenticate the user and finalize the managed OAuth flow.",
+"type": "string"
+},
+"scopes": {
+"description": "Optional. The list of OAuth2 scopes of the AuthProvider.",
+"items": {
+"type": "string"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"Binding": {
+"description": "Represents a user-defined Binding.",
+"id": "Binding",
+"properties": {
+"authProviderBinding": {
+"$ref": "AuthProviderBinding",
+"description": "The binding for AuthProvider."
+},
+"createTime": {
+"description": "Output only. Timestamp when this binding was created.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"description": {
+"description": "Optional. User-defined description of a Binding. Can have a maximum length of `2048` characters.",
+"type": "string"
+},
+"displayName": {
+"description": "Optional. User-defined display name for the Binding. Can have a maximum length of `63` characters.",
+"type": "string"
+},
+"name": {
+"description": "Required. Identifier. The resource name of the Binding. Format: `projects/{project}/locations/{location}/bindings/{binding}`.",
+"type": "string"
+},
+"source": {
+"$ref": "Source",
+"description": "Required. The target Agent of the Binding."
+},
+"target": {
+"$ref": "Target",
+"description": "Required. The target Agent Registry Resource of the Binding."
+},
+"updateTime": {
+"description": "Output only. Timestamp when this binding was last updated.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"CancelOperationRequest": {
+"description": "The request message for Operations.CancelOperation.",
+"id": "CancelOperationRequest",
+"properties": {},
+"type": "object"
+},
+"Card": {
+"description": "Full Agent Card payload, often obtained from the A2A Agent Card.",
+"id": "Card",
+"properties": {
+"content": {
+"additionalProperties": {
+"description": "Properties of the object.",
+"type": "any"
+},
+"description": "Output only. The content of the agent card.",
+"readOnly": true,
+"type": "object"
+},
+"type": {
+"description": "Output only. The type of agent card.",
+"enum": [
+"TYPE_UNSPECIFIED",
+"A2A_AGENT_CARD"
+],
+"enumDescriptions": [
+"Unspecified type.",
+"Indicates that the card is an A2A Agent Card."
+],
+"readOnly": true,
+"type": "string"
+}
+},
+"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); }",
+"id": "Empty",
+"properties": {},
+"type": "object"
+},
+"Endpoint": {
+"description": "Represents an Endpoint.",
+"id": "Endpoint",
+"properties": {
+"attributes": {
+"additionalProperties": {
+"additionalProperties": {
+"description": "Properties of the object.",
+"type": "any"
+},
+"type": "object"
+},
+"description": "Output only. Attributes of the Endpoint. Valid values: * `agentregistry.googleapis.com/system/RuntimeReference`: {\"uri\": \"//...\"} - the URI of the underlying resource hosting the Endpoint, for example, the GKE Deployment.",
+"readOnly": true,
+"type": "object"
+},
+"createTime": {
+"description": "Output only. Create time.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"description": {
+"description": "Output only. Description of an Endpoint.",
+"readOnly": true,
+"type": "string"
+},
+"displayName": {
+"description": "Output only. Display name for the Endpoint.",
+"readOnly": true,
+"type": "string"
+},
+"endpointId": {
+"description": "Output only. A stable, globally unique identifier for Endpoint.",
+"readOnly": true,
+"type": "string"
+},
+"interfaces": {
+"description": "Required. The connection details for the Endpoint.",
+"items": {
+"$ref": "Interface"
+},
+"type": "array"
+},
+"name": {
+"description": "Identifier. The resource name of the Endpoint. Format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.",
+"type": "string"
+},
+"updateTime": {
+"description": "Output only. Update time.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"EndpointSpec": {
+"description": "The spec of the endpoint.",
+"id": "EndpointSpec",
+"properties": {
+"content": {
+"additionalProperties": {
+"description": "Properties of the object.",
+"type": "any"
+},
+"description": "Optional. The content of the endpoint spec. Reserved for future use.",
+"type": "object"
+},
+"type": {
+"description": "Required. The type of the endpoint spec content.",
+"enum": [
+"TYPE_UNSPECIFIED",
+"NO_SPEC"
+],
+"enumDescriptions": [
+"Unspecified type.",
+"There is no spec for the Endpoint. The `content` field must be empty."
+],
+"type": "string"
+}
+},
+"type": "object"
+},
+"FetchAvailableBindingsResponse": {
+"description": "Message for response to fetching available Bindings.",
+"id": "FetchAvailableBindingsResponse",
+"properties": {
+"bindings": {
+"description": "The list of Bindings.",
+"items": {
+"$ref": "Binding"
+},
+"type": "array"
+},
+"nextPageToken": {
+"description": "A token identifying a page of results the server should return.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"Interface": {
+"description": "Represents the connection details for an Agent or MCP Server.",
+"id": "Interface",
+"properties": {
+"protocolBinding": {
+"description": "Required. The protocol binding of the interface.",
+"enum": [
+"PROTOCOL_BINDING_UNSPECIFIED",
+"JSONRPC",
+"GRPC",
+"HTTP_JSON"
+],
+"enumDescriptions": [
+"Unspecified transport protocol.",
+"JSON-RPC specification.",
+"gRPC specification.",
+"HTTP+JSON specification."
+],
+"type": "string"
+},
+"url": {
+"description": "Required. The destination URL.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"ListAgentsResponse": {
+"description": "Message for response to listing Agents",
+"id": "ListAgentsResponse",
+"properties": {
+"agents": {
+"description": "The list of Agents.",
+"items": {
+"$ref": "Agent"
+},
+"type": "array"
+},
+"nextPageToken": {
+"description": "A token identifying a page of results the server should return.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"ListBindingsResponse": {
+"description": "Message for response to listing Bindings",
+"id": "ListBindingsResponse",
+"properties": {
+"bindings": {
+"description": "The list of Binding resources matching the parent and filter criteria in the request. Each Binding resource follows the format: `projects/{project}/locations/{location}/bindings/{binding}`.",
+"items": {
+"$ref": "Binding"
+},
+"type": "array"
+},
+"nextPageToken": {
+"description": "A token identifying a page of results the server should return. Used in page_token.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"ListEndpointsResponse": {
+"description": "Message for response to listing Endpoints",
+"id": "ListEndpointsResponse",
+"properties": {
+"endpoints": {
+"description": "The list of Endpoint resources matching the parent and filter criteria in the request. Each Endpoint resource follows the format: `projects/{project}/locations/{location}/endpoints/{endpoint}`.",
+"items": {
+"$ref": "Endpoint"
+},
+"type": "array"
+},
+"nextPageToken": {
+"description": "A token identifying a page of results the server should return. Used in page_token.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"ListLocationsResponse": {
+"description": "The response message for Locations.ListLocations.",
+"id": "ListLocationsResponse",
+"properties": {
+"locations": {
+"description": "A list of locations that matches the specified filter in the request.",
+"items": {
+"$ref": "Location"
+},
+"type": "array"
+},
+"nextPageToken": {
+"description": "The standard List next-page token.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"ListMcpServersResponse": {
+"description": "Message for response to listing McpServers",
+"id": "ListMcpServersResponse",
+"properties": {
+"mcpServers": {
+"description": "The list of McpServers.",
+"items": {
+"$ref": "McpServer"
+},
+"type": "array"
+},
+"nextPageToken": {
+"description": "A token identifying a page of results the server should return.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"ListOperationsResponse": {
+"description": "The response message for Operations.ListOperations.",
+"id": "ListOperationsResponse",
+"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"
+},
+"unreachable": {
+"description": "Unordered list. Unreachable resources. Populated when the request sets `ListOperationsRequest.return_partial_success` and reads across collections. For example, when attempting to list all resources across all supported locations.",
+"items": {
+"type": "string"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"ListServicesResponse": {
+"description": "Message for response to listing Services",
+"id": "ListServicesResponse",
+"properties": {
+"nextPageToken": {
+"description": "A token identifying a page of results the server should return. Used in page_token.",
+"type": "string"
+},
+"services": {
+"description": "The list of Service resources matching the parent and filter criteria in the request. Each Service resource follows the format: `projects/{project}/locations/{location}/services/{service}`.",
+"items": {
+"$ref": "Service"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"Location": {
+"description": "A resource that represents a Google Cloud location.",
+"id": "Location",
+"properties": {
+"displayName": {
+"description": "The friendly name for this location, typically a nearby city name. For example, \"Tokyo\".",
+"type": "string"
+},
+"labels": {
+"additionalProperties": {
+"type": "string"
+},
+"description": "Cross-service attributes for the location. For example {\"cloud.googleapis.com/region\": \"us-east1\"}",
+"type": "object"
+},
+"locationId": {
+"description": "The canonical id for this location. For example: `\"us-east1\"`.",
+"type": "string"
+},
+"metadata": {
+"additionalProperties": {
+"description": "Properties of the object. Contains field @type with type URL.",
+"type": "any"
+},
+"description": "Service-specific metadata. For example the available capacity at the given location.",
+"type": "object"
+},
+"name": {
+"description": "Resource name for the location, which may vary between implementations. For example: `\"projects/example-project/locations/us-east1\"`",
+"type": "string"
+}
+},
+"type": "object"
+},
+"McpServer": {
+"description": "Represents an MCP (Model Context Protocol) Server.",
+"id": "McpServer",
+"properties": {
+"attributes": {
+"additionalProperties": {
+"additionalProperties": {
+"description": "Properties of the object.",
+"type": "any"
+},
+"type": "object"
+},
+"description": "Output only. Attributes of the MCP Server. Valid values: * `agentregistry.googleapis.com/system/RuntimeIdentity`: {\"principal\": \"principal://...\"} - the runtime identity associated with the MCP Server. * `agentregistry.googleapis.com/system/RuntimeReference`: {\"uri\": \"//...\"} - the URI of the underlying resource hosting the MCP Server, for example, the GKE Deployment.",
+"readOnly": true,
+"type": "object"
+},
+"createTime": {
+"description": "Output only. Create time.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"description": {
+"description": "Output only. The description of the MCP Server.",
+"readOnly": true,
+"type": "string"
+},
+"displayName": {
+"description": "Output only. The display name of the MCP Server.",
+"readOnly": true,
+"type": "string"
+},
+"interfaces": {
+"description": "Output only. The connection details for the MCP Server.",
+"items": {
+"$ref": "Interface"
+},
+"readOnly": true,
+"type": "array"
+},
+"mcpServerId": {
+"description": "Output only. A stable, globally unique identifier for MCP Servers.",
+"readOnly": true,
+"type": "string"
+},
+"name": {
+"description": "Identifier. The resource name of the MCP Server. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`.",
+"type": "string"
+},
+"tools": {
+"description": "Output only. Tools provided by the MCP Server.",
+"items": {
+"$ref": "Tool"
+},
+"readOnly": true,
+"type": "array"
+},
+"updateTime": {
+"description": "Output only. Update time.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"McpServerSpec": {
+"description": "The spec of the MCP Server.",
+"id": "McpServerSpec",
+"properties": {
+"content": {
+"additionalProperties": {
+"description": "Properties of the object.",
+"type": "any"
+},
+"description": "Optional. The content of the MCP Server spec. This payload is validated against the schema for the specified type. The content size is limited to `10KB`.",
+"type": "object"
+},
+"type": {
+"description": "Required. The type of the MCP Server spec content.",
+"enum": [
+"TYPE_UNSPECIFIED",
+"NO_SPEC",
+"TOOL_SPEC"
+],
+"enumDescriptions": [
+"Unspecified type.",
+"There is no spec for the MCP Server. The `content` field must be empty.",
+"The content is a MCP Tool Spec following the One MCP specification. The payload is the same as the `tools/list` response."
+],
+"type": "string"
+}
+},
+"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": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
+"type": "object"
+},
+"name": {
+"description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`.",
+"type": "string"
+},
+"response": {
+"additionalProperties": {
+"description": "Properties of the object. Contains field @type with type URL.",
+"type": "any"
+},
+"description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
+"type": "object"
+}
+},
+"type": "object"
+},
+"OperationMetadata": {
+"description": "Represents the metadata of the long-running operation.",
+"id": "OperationMetadata",
+"properties": {
+"apiVersion": {
+"description": "Output only. API version used to start the operation.",
+"readOnly": true,
+"type": "string"
+},
+"createTime": {
+"description": "Output only. The time the operation was created.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"endTime": {
+"description": "Output only. The time the operation finished running.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"requestedCancellation": {
+"description": "Output only. Identifies whether the user has requested cancellation of the operation. Operations that have been cancelled successfully have google.longrunning.Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
+"readOnly": true,
+"type": "boolean"
+},
+"statusMessage": {
+"description": "Output only. Human-readable status of the operation, if any.",
+"readOnly": true,
+"type": "string"
+},
+"target": {
+"description": "Output only. Server-defined resource path for the target of the operation.",
+"readOnly": true,
+"type": "string"
+},
+"verb": {
+"description": "Output only. Name of the verb executed by the operation.",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"Protocol": {
+"description": "Represents the protocol of an Agent.",
+"id": "Protocol",
+"properties": {
+"interfaces": {
+"description": "Output only. The connection details for the Agent.",
+"items": {
+"$ref": "Interface"
+},
+"readOnly": true,
+"type": "array"
+},
+"protocolVersion": {
+"description": "Output only. The version of the protocol, for example, the A2A Agent Card version.",
+"readOnly": true,
+"type": "string"
+},
+"type": {
+"description": "Output only. The type of the protocol.",
+"enum": [
+"TYPE_UNSPECIFIED",
+"A2A_AGENT",
+"CUSTOM"
+],
+"enumDescriptions": [
+"Unspecified type.",
+"The interfaces point to an A2A Agent following the A2A specification.",
+"Agent does not follow any standard protocol."
+],
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"SearchAgentsRequest": {
+"description": "Message for searching Agents",
+"id": "SearchAgentsRequest",
+"properties": {
+"pageSize": {
+"description": "Optional. The maximum number of search results to return per page. The page size is capped at `100`, even if a larger value is specified. A negative value will result in an `INVALID_ARGUMENT` error. If unspecified or set to `0`, a default value of `20` will be used. The server may return fewer results than requested.",
+"format": "int32",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. If present, retrieve 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 all other method parameters, must be identical to those in the previous call.",
+"type": "string"
+},
+"searchString": {
+"description": "Optional. Search criteria used to select the Agents to return. If no search criteria is specified then all accessible Agents will be returned. Search expressions can be used to restrict results based upon searchable fields, where the operators can be used along with the suffix wildcard symbol `*`. See [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools) for more details. Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`. Searchable fields: | Field | `=` | `:` | `*` | Keyword Search | |--------------------|-----|-----|-----|----------------| | agentId | Yes | Yes | Yes | Included | | name | No | Yes | Yes | Included | | displayName | No | Yes | Yes | Included | | description | No | Yes | No | Included | | skills | No | Yes | No | Included | | skills.id | No | Yes | No | Included | | skills.name | No | Yes | No | Included | | skills.description | No | Yes | No | Included | | skills.tags | No | Yes | No | Included | | skills.examples | No | Yes | No | Included | Examples: * `agentId=\"urn:agent:projects-123:projects:123:locations:us-central1:reasoningEngines:1234\"` to find the agent with the specified agent ID. * `name:important` to find agents whose name contains `important` as a word. * `displayName:works*` to find agents whose display name contains words that start with `works`. * `skills.tags:test` to find agents whose skills tags contain `test`. * `planner OR booking` to find agents whose metadata contains the words `planner` or `booking`.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"SearchAgentsResponse": {
+"description": "Message for response to searching Agents",
+"id": "SearchAgentsResponse",
+"properties": {
+"agents": {
+"description": "A list of Agents that match the `search_string`.",
+"items": {
+"$ref": "Agent"
+},
+"type": "array"
+},
+"nextPageToken": {
+"description": "If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"SearchMcpServersRequest": {
+"description": "Message for searching MCP Servers",
+"id": "SearchMcpServersRequest",
+"properties": {
+"pageSize": {
+"description": "Optional. The maximum number of search results to return per page. The page size is capped at `100`, even if a larger value is specified. A negative value will result in an `INVALID_ARGUMENT` error. If unspecified or set to `0`, a default value of `20` will be used. The server may return fewer results than requested.",
+"format": "int32",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. If present, retrieve 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 all other method parameters, must be identical to those in the previous call.",
+"type": "string"
+},
+"searchString": {
+"description": "Optional. Search criteria used to select the MCP Servers to return. If no search criteria is specified then all accessible MCP Servers will be returned. Search expressions can be used to restrict results based upon searchable fields, where the operators can be used along with the suffix wildcard symbol `*`. See [instructions](https://docs.cloud.google.com/agent-registry/search-agents-and-tools) for more details. Allowed operators: `=`, `:`, `NOT`, `AND`, `OR`, and `()`. Searchable fields: | Field | `=` | `:` | `*` | Keyword Search | |--------------------|-----|-----|-----|----------------| | mcpServerId | Yes | Yes | Yes | Included | | name | No | Yes | Yes | Included | | displayName | No | Yes | Yes | Included | Examples: * `mcpServerId=\"urn:mcp:projects-123:projects:123:locations:us-central1:agentregistry:services:service-id\"` to find the MCP Server with the specified MCP Server ID. * `name:important` to find MCP Servers whose name contains `important` as a word. * `displayName:works*` to find MCP Servers whose display name contains words that start with `works`. * `planner OR booking` to find MCP Servers whose metadata contains the words `planner` or `booking`. * `mcpServerId:service-id AND (displayName:planner OR displayName:booking)` to find MCP Servers whose MCP Server ID contains `service-id` and whose display name contains `planner` or `booking`.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"SearchMcpServersResponse": {
+"description": "Message for response to searching MCP Servers",
+"id": "SearchMcpServersResponse",
+"properties": {
+"mcpServers": {
+"description": "A list of McpServers that match the `search_string`.",
+"items": {
+"$ref": "McpServer"
+},
+"type": "array"
+},
+"nextPageToken": {
+"description": "If there are more results than those appearing in this response, then `next_page_token` is included. To get the next set of results, call this method again using the value of `next_page_token` as `page_token`.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"Service": {
+"description": "Represents a user-defined Service.",
+"id": "Service",
+"properties": {
+"agentSpec": {
+"$ref": "AgentSpec",
+"description": "Optional. The spec of the Agent. When `agent_spec` is set, the type of the service is Agent."
+},
+"createTime": {
+"description": "Output only. Create time.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"description": {
+"description": "Optional. User-defined description of an Service. Can have a maximum length of `2048` characters.",
+"type": "string"
+},
+"displayName": {
+"description": "Optional. User-defined display name for the Service. Can have a maximum length of `63` characters.",
+"type": "string"
+},
+"endpointSpec": {
+"$ref": "EndpointSpec",
+"description": "Optional. The spec of the Endpoint. When `endpoint_spec` is set, the type of the service is Endpoint."
+},
+"interfaces": {
+"description": "Optional. The connection details for the Service.",
+"items": {
+"$ref": "Interface"
+},
+"type": "array"
+},
+"mcpServerSpec": {
+"$ref": "McpServerSpec",
+"description": "Optional. The spec of the MCP Server. When `mcp_server_spec` is set, the type of the service is MCP Server."
+},
+"name": {
+"description": "Identifier. The resource name of the Service. Format: `projects/{project}/locations/{location}/services/{service}`.",
+"type": "string"
+},
+"registryResource": {
+"description": "Output only. The resource name of the resulting Agent, MCP Server, or Endpoint. Format: * `projects/{project}/locations/{location}/mcpServers/{mcp_server}` * `projects/{project}/locations/{location}/agents/{agent}` * `projects/{project}/locations/{location}/endpoints/{endpoint}`",
+"readOnly": true,
+"type": "string"
+},
+"updateTime": {
+"description": "Output only. Update time.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"Source": {
+"description": "The source of the Binding.",
+"id": "Source",
+"properties": {
+"identifier": {
+"description": "The identifier of the source Agent. Format: * `urn:agent:{publisher}:{namespace}:{name}`",
+"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",
+"properties": {
+"code": {
+"description": "The status code, which should be an enum value of google.rpc.Code.",
+"format": "int32",
+"type": "integer"
+},
+"details": {
+"description": "A list of messages that carry the error details. There is a common set of message types for APIs to use.",
+"items": {
+"additionalProperties": {
+"description": "Properties of the object. Contains field @type with type URL.",
+"type": "any"
+},
+"type": "object"
+},
+"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"
+},
+"Target": {
+"description": "The target of the Binding.",
+"id": "Target",
+"properties": {
+"identifier": {
+"description": "The identifier of the target Agent, MCP Server, or Endpoint. Format: * `urn:agent:{publisher}:{namespace}:{name}` * `urn:mcp:{publisher}:{namespace}:{name}` * `urn:endpoint:{publisher}:{namespace}:{name}`",
+"type": "string"
+}
+},
+"type": "object"
+},
+"Tool": {
+"description": "Represents a single tool provided by an MCP Server.",
+"id": "Tool",
+"properties": {
+"annotations": {
+"$ref": "Annotations",
+"description": "Output only. Annotations associated with the tool.",
+"readOnly": true
+},
+"description": {
+"description": "Output only. Description of what the tool does.",
+"readOnly": true,
+"type": "string"
+},
+"name": {
+"description": "Output only. Human-readable name of the tool.",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+}
+},
+"servicePath": "",
+"title": "Agent Registry API",
+"version": "v1",
+"version_module": true
+}
\ No newline at end of file
diff --git a/googleapiclient/discovery_cache/documents/aiplatform.v1.json b/googleapiclient/discovery_cache/documents/aiplatform.v1.json
index a9b6bda..aae12d8 100644
--- a/googleapiclient/discovery_cache/documents/aiplatform.v1.json
+++ b/googleapiclient/discovery_cache/documents/aiplatform.v1.json
@@ -6833,6 +6833,31 @@
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
+"getSemanticGovernancePolicyEngine": {
+"description": "Gets a SemanticGovernancePolicyEngine. A SemanticGovernancePolicyEngine is a singleton resource that is created when its parent is created, and deleted when its parent is deleted. This method retrieves the current state of the Semantic Governance Policy Engine.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine",
+"httpMethod": "GET",
+"id": "aiplatform.projects.locations.getSemanticGovernancePolicyEngine",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the SemanticGovernancePolicyEngine to retrieve. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "GoogleCloudAiplatformV1SemanticGovernancePolicyEngine"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
 "list": {
 "description": "Lists information about the supported locations for this service. This method lists locations based on the resource scope provided in the ListLocationsRequest.name field: * **Global locations**: If `name` is empty, the method lists the public locations available to all projects. * **Project-specific locations**: If `name` follows the format `projects/{project}`, the method lists locations visible to that specific project. This includes public, private, or other project-specific locations enabled for the project. For gRPC and client library implementations, the resource name is passed as the `name` field. For direct service calls, the resource name is incorporated into the request path based on the specific service implementation and version.",
 "flatPath": "v1/projects/{projectsId}/locations",
@@ -6935,9 +6960,200 @@
 "scopes": [
 "https://www.googleapis.com/auth/cloud-platform"
 ]
+},
+"updateSemanticGovernancePolicyEngine": {
+"description": "Updates a SemanticGovernancePolicyEngine. This method performs an upsert operation. If the SemanticGovernancePolicyEngine resource does not exist, it will be created. Otherwise, it will be updated.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine",
+"httpMethod": "PATCH",
+"id": "aiplatform.projects.locations.updateSemanticGovernancePolicyEngine",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Identifier. The resource name of the SemanticGovernancePolicyEngine. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine$",
+"required": true,
+"type": "string"
+},
+"updateMask": {
+"description": "Optional. Specifies the fields to be overwritten in the SemanticGovernancePolicyEngine resource by the update. The fields specified in the update_mask are relative to the resource itself. If no update_mask is provided, all fields are overwritten.",
+"format": "google-fieldmask",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"request": {
+"$ref": "GoogleCloudAiplatformV1SemanticGovernancePolicyEngine"
+},
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
 }
 },
 "resources": {
+"agents": {
+"methods": {
+"create": {
+"description": "Creates an agent.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agents",
+"httpMethod": "POST",
+"id": "aiplatform.projects.locations.agents.create",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"parent": {
+"description": "Required. The resource name of the location to create the agent in. Format: `projects/{project}/locations/{location}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/agents",
+"request": {
+"$ref": "GoogleCloudAiplatformV1Agent"
+},
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"delete": {
+"description": "Deletes an agent.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}",
+"httpMethod": "DELETE",
+"id": "aiplatform.projects.locations.agents.delete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the agent to delete. Format: `projects/{project}/locations/{location}/agents/{agent}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"get": {
+"description": "Retrieves an agent.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}",
+"httpMethod": "GET",
+"id": "aiplatform.projects.locations.agents.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the agent to retrieve. Format: `projects/{project}/locations/{location}/agents/{agent}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "GoogleCloudAiplatformV1Agent"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"list": {
+"description": "Lists agents in a location.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agents",
+"httpMethod": "GET",
+"id": "aiplatform.projects.locations.agents.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"orderBy": {
+"description": "Optional. A comma-separated list of fields to order by. Supported fields: * `created` * `updated` Use `desc` after a field name for descending order. Example: `created desc`.",
+"location": "query",
+"type": "string"
+},
+"pageSize": {
+"description": "Optional. The maximum number of agents to return. The service may return fewer than this value. The maximum page size is 100; values above 100 will be coerced to 100. If unspecified, the default page size is 10.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. A page token, received from a previous AgentService.ListAgents call. Provide this to retrieve the subsequent page.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The resource name of the location to list agents from. Format: `projects/{project}/locations/{location}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/agents",
+"response": {
+"$ref": "GoogleCloudAiplatformV1ListAgentsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"patch": {
+"description": "Updates an agent.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/agents/{agentsId}",
+"httpMethod": "PATCH",
+"id": "aiplatform.projects.locations.agents.patch",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/agents/[^/]+$",
+"required": true,
+"type": "string"
+},
+"updateMask": {
+"description": "Optional. The list of fields to update. If not present, all fields are updated.",
+"format": "google-fieldmask",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"request": {
+"$ref": "GoogleCloudAiplatformV1Agent"
+},
+"response": {
+"$ref": "GoogleCloudAiplatformV1Agent"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+}
+}
+},
 "batchPredictionJobs": {
 "methods": {
 "cancel": {
@@ -23308,6 +23524,34 @@
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
+"ingestEvents": {
+"description": "Ingests events for a Memory Bank.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories:ingestEvents",
+"httpMethod": "POST",
+"id": "aiplatform.projects.locations.reasoningEngines.memories.ingestEvents",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"parent": {
+"description": "Required. The resource name of the ReasoningEngine to ingest events to. Format: `projects/{project}/locations/{location}/reasoningEngines/{reasoning_engine}`",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/reasoningEngines/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/memories:ingestEvents",
+"request": {
+"$ref": "GoogleCloudAiplatformV1IngestEventsRequest"
+},
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
 "list": {
 "description": "List Memories.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reasoningEngines/{reasoningEnginesId}/memories",
@@ -25488,6 +25732,358 @@
 }
 }
 },
+"semanticGovernancePolicies": {
+"methods": {
+"create": {
+"description": "Creates a SemanticGovernancePolicy.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies",
+"httpMethod": "POST",
+"id": "aiplatform.projects.locations.semanticGovernancePolicies.create",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"parent": {
+"description": "Required. The resource name of the Location into which to create the SemanticGovernancePolicy. Format: `projects/{project}/locations/{location}`",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+},
+"semanticGovernancePolicyId": {
+"description": "Required. The ID to use for the SemanticGovernancePolicy, which will become the final component of the SemanticGovernancePolicy's resource name. This value may be up to 63 characters, and valid characters are `[a-z0-9-]`. The first character cannot be a number or hyphen. The last character must be a letter or a number.",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+parent}/semanticGovernancePolicies",
+"request": {
+"$ref": "GoogleCloudAiplatformV1SemanticGovernancePolicy"
+},
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"delete": {
+"description": "Deletes a SemanticGovernancePolicy.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}",
+"httpMethod": "DELETE",
+"id": "aiplatform.projects.locations.semanticGovernancePolicies.delete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"etag": {
+"description": "Optional. The etag of the SemanticGovernancePolicy. If an etag is provided and does not match the current etag of the SemanticGovernancePolicy, deletion will be blocked and an ABORTED error will be returned.",
+"location": "query",
+"type": "string"
+},
+"name": {
+"description": "Required. The name of the SemanticGovernancePolicy resource to be deleted. Format: `projects/{project}/locations/{location}/semanticGovernancePolicies/{semantic_governance_policy}`",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"get": {
+"description": "Gets a SemanticGovernancePolicy.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}",
+"httpMethod": "GET",
+"id": "aiplatform.projects.locations.semanticGovernancePolicies.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the SemanticGovernancePolicy resource. Format: `projects/{project}/locations/{location}/semanticGovernancePolicies/{semantic_governance_policy}`",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "GoogleCloudAiplatformV1SemanticGovernancePolicy"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"list": {
+"description": "Lists SemanticGovernancePolicies in a given location.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies",
+"httpMethod": "GET",
+"id": "aiplatform.projects.locations.semanticGovernancePolicies.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"pageSize": {
+"description": "Optional. The list page size. If zero, a default page size of 10 is used.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. The standard list page token.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The resource name of the Location from which to list the SemanticGovernancePolicies. Format: `projects/{project}/locations/{location}`",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/semanticGovernancePolicies",
+"response": {
+"$ref": "GoogleCloudAiplatformV1ListSemanticGovernancePoliciesResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"patch": {
+"description": "Updates a SemanticGovernancePolicy.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}",
+"httpMethod": "PATCH",
+"id": "aiplatform.projects.locations.semanticGovernancePolicies.patch",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Identifier. Resource name of the SemanticGovernancePolicy.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$",
+"required": true,
+"type": "string"
+},
+"updateMask": {
+"description": "Optional. `update_mask` is used to specify the fields to be overwritten in the SemanticGovernancePolicy resource by the update. The fields specified in the `update_mask` are relative to the resource, not the full request. A field will be overwritten if it is in the mask. If the mask is not present, then all fields that are populated in the request message will be overwritten. Set the `update_mask` to `*` to override all fields.",
+"format": "google-fieldmask",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"request": {
+"$ref": "GoogleCloudAiplatformV1SemanticGovernancePolicy"
+},
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+}
+},
+"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. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}:cancel",
+"httpMethod": "POST",
+"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.cancel",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "The name of the operation resource to be cancelled.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+/operations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}:cancel",
+"response": {
+"$ref": "GoogleProtobufEmpty"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"delete": {
+"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}",
+"httpMethod": "DELETE",
+"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.delete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "The name of the operation resource to be deleted.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+/operations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "GoogleProtobufEmpty"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"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.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}",
+"httpMethod": "GET",
+"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "The name of the operation resource.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+/operations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"list": {
+"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations",
+"httpMethod": "GET",
+"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.list",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"filter": {
+"description": "The standard list filter.",
+"location": "query",
+"type": "string"
+},
+"name": {
+"description": "The name of the operation's parent resource.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+$",
+"required": true,
+"type": "string"
+},
+"pageSize": {
+"description": "The standard list page size.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "The standard list page token.",
+"location": "query",
+"type": "string"
+},
+"returnPartialSuccess": {
+"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
+"location": "query",
+"type": "boolean"
+}
+},
+"path": "v1/{+name}/operations",
+"response": {
+"$ref": "GoogleLongrunningListOperationsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"wait": {
+"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}:wait",
+"httpMethod": "POST",
+"id": "aiplatform.projects.locations.semanticGovernancePolicies.operations.wait",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "The name of the operation resource to wait on.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicies/[^/]+/operations/[^/]+$",
+"required": true,
+"type": "string"
+},
+"timeout": {
+"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.",
+"format": "google-duration",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+name}:wait",
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+}
+}
+}
+}
+},
+"semanticGovernancePolicyEngine": {
+"methods": {
+"deprovision": {
+"description": "Deprovisions the SemanticGovernancePolicyEngine, tearing down the associated tenant project, GKE cluster, and PSC service attachments. This operation is irreversible. Returns a long-running operation; poll for completion. The response contains the SemanticGovernancePolicyEngine in DEPROVISIONING state.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/semanticGovernancePolicyEngine:deprovision",
+"httpMethod": "POST",
+"id": "aiplatform.projects.locations.semanticGovernancePolicyEngine.deprovision",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the SemanticGovernancePolicyEngine to deprovision. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/semanticGovernancePolicyEngine$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}:deprovision",
+"request": {
+"$ref": "GoogleCloudAiplatformV1DeprovisionSemanticGovernancePolicyEngineRequest"
+},
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+}
+}
+},
 "skills": {
 "resources": {
 "operations": {
@@ -31461,6 +32057,166 @@
 }
 }
 },
+"semanticGovernancePolicies": {
+"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. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Clients can use Operations.GetOperation or other methods to check whether the cancellation succeeded or whether the operation completed despite cancellation. On successful cancellation, the operation is not deleted; instead, it becomes an operation with an Operation.error value with a google.rpc.Status.code of `1`, corresponding to `Code.CANCELLED`.",
+"flatPath": "v1/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}:cancel",
+"httpMethod": "POST",
+"id": "aiplatform.semanticGovernancePolicies.operations.cancel",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "The name of the operation resource to be cancelled.",
+"location": "path",
+"pattern": "^semanticGovernancePolicies/[^/]+/operations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}:cancel",
+"response": {
+"$ref": "GoogleProtobufEmpty"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"delete": {
+"description": "Deletes a long-running operation. This method indicates that the client is no longer interested in the operation result. It does not cancel the operation. If the server doesn't support this method, it returns `google.rpc.Code.UNIMPLEMENTED`.",
+"flatPath": "v1/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}",
+"httpMethod": "DELETE",
+"id": "aiplatform.semanticGovernancePolicies.operations.delete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "The name of the operation resource to be deleted.",
+"location": "path",
+"pattern": "^semanticGovernancePolicies/[^/]+/operations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "GoogleProtobufEmpty"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"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.",
+"flatPath": "v1/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}",
+"httpMethod": "GET",
+"id": "aiplatform.semanticGovernancePolicies.operations.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "The name of the operation resource.",
+"location": "path",
+"pattern": "^semanticGovernancePolicies/[^/]+/operations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"list": {
+"description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`.",
+"flatPath": "v1/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations",
+"httpMethod": "GET",
+"id": "aiplatform.semanticGovernancePolicies.operations.list",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"filter": {
+"description": "The standard list filter.",
+"location": "query",
+"type": "string"
+},
+"name": {
+"description": "The name of the operation's parent resource.",
+"location": "path",
+"pattern": "^semanticGovernancePolicies/[^/]+$",
+"required": true,
+"type": "string"
+},
+"pageSize": {
+"description": "The standard list page size.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "The standard list page token.",
+"location": "query",
+"type": "string"
+},
+"returnPartialSuccess": {
+"description": "When set to `true`, operations that are reachable are returned as normal, and those that are unreachable are returned in the ListOperationsResponse.unreachable field. This can only be `true` when reading across collections. For example, when `parent` is set to `\"projects/example/locations/-\"`. This field is not supported by default and will result in an `UNIMPLEMENTED` error if set unless explicitly documented otherwise in service or product specific documentation.",
+"location": "query",
+"type": "boolean"
+}
+},
+"path": "v1/{+name}/operations",
+"response": {
+"$ref": "GoogleLongrunningListOperationsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"wait": {
+"description": "Waits until the specified long-running operation is done or reaches at most a specified timeout, returning the latest state. If the operation is already done, the latest state is immediately returned. If the timeout specified is greater than the default HTTP/RPC timeout, the HTTP/RPC timeout is used. If the server does not support this method, it returns `google.rpc.Code.UNIMPLEMENTED`. Note that this method is on a best-effort basis. It may return the latest state before the specified timeout (including immediately), meaning even an immediate response is no guarantee that the operation is done.",
+"flatPath": "v1/semanticGovernancePolicies/{semanticGovernancePoliciesId}/operations/{operationsId}:wait",
+"httpMethod": "POST",
+"id": "aiplatform.semanticGovernancePolicies.operations.wait",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "The name of the operation resource to wait on.",
+"location": "path",
+"pattern": "^semanticGovernancePolicies/[^/]+/operations/[^/]+$",
+"required": true,
+"type": "string"
+},
+"timeout": {
+"description": "The maximum duration to wait before timing out. If left blank, the wait will be at most the time permitted by the underlying HTTP/RPC protocol. If RPC context deadline is also specified, the shorter one will be used.",
+"format": "google-duration",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+name}:wait",
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+}
+}
+}
+}
+},
 "skills": {
 "resources": {
 "operations": {
@@ -33089,7 +33845,7 @@
 }
 }
 },
-"revision": "20260617",
+"revision": "20260623",
 "rootUrl": "https://aiplatform.googleapis.com/",
 "schemas": {
 "CloudAiLargeModelsVisionGenerateVideoExperiments": {
@@ -33858,6 +34614,68 @@
 },
 "type": "object"
 },
+"GoogleCloudAiplatformV1Agent": {
+"description": "A Vertex agent contains instructions and configurations for the LLM to execute a certain task.",
+"id": "GoogleCloudAiplatformV1Agent",
+"properties": {
+"base_agent": {
+"description": "Required. The base agent for the agent. Supported values: * `antigravity-preview-05-2026`",
+"type": "string"
+},
+"base_environment": {
+"description": "Optional. The base environment configuration for the agent. Valid types: * A string value for the environment ID, or `remote` for the default. * A struct value for the `environment_config`.",
+"type": "any"
+},
+"created": {
+"description": "Output only. The time the agent was created.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"description": {
+"description": "Optional. The description of the agent.",
+"type": "string"
+},
+"id": {
+"description": "Immutable. The user-specified ID for the agent. This ID becomes the final component of the agent resource name. If not provided, Vertex AI will generate a value for this ID. The ID can be up to 63 characters and must match the regular expression `[a-z]([a-z0-9-]{0,61}[a-z0-9])?`.",
+"type": "string"
+},
+"metadata": {
+"additionalProperties": {
+"type": "string"
+},
+"description": "Optional. The metadata for the agent.",
+"type": "object"
+},
+"name": {
+"description": "Identifier. The resource name of the agent. Format: `projects/{project}/locations/{location}/agents/{agent}`.",
+"type": "string"
+},
+"object": {
+"description": "Output only. The object type of the resource. For agents, the value is `agent`.",
+"readOnly": true,
+"type": "string"
+},
+"system_instruction": {
+"description": "Optional. The instructions for the agent to follow. These instructions are passed to the LLM as a system instruction.",
+"type": "string"
+},
+"tools": {
+"description": "Optional. The tools available to the agent.",
+"items": {
+"$ref": "GoogleCloudAiplatformV1AgentTool"
+},
+"type": "array"
+},
+"updated": {
+"description": "Output only. The time the agent was last updated.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudAiplatformV1AgentConfig": {
 "description": "Represents configuration for an Agent.",
 "id": "GoogleCloudAiplatformV1AgentConfig",
@@ -33895,6 +34713,32 @@
 },
 "type": "object"
 },
+"GoogleCloudAiplatformV1AgentTool": {
+"description": "A tool provides a list of actions available to the Agent during the process of executing a task.",
+"id": "GoogleCloudAiplatformV1AgentTool",
+"properties": {
+"headers": {
+"additionalProperties": {
+"type": "string"
+},
+"description": "Optional. The headers for the MCP server, such as for authentication. Only applicable when `type` is `mcp_server`.",
+"type": "object"
+},
+"name": {
+"description": "Optional. The name of the MCP server. Only applicable when `type` is `mcp_server`.",
+"type": "string"
+},
+"type": {
+"description": "Required. The type of the tool. Supported types: * `code_execution` * `filesystem` * `google_search` * `mcp_server` * `url_context`",
+"type": "string"
+},
+"url": {
+"description": "Optional. The URL for the MCP server endpoint. Only applicable when `type` is `mcp_server`.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudAiplatformV1AggregationOutput": {
 "description": "The aggregation result for the entire dataset and all metrics.",
 "id": "GoogleCloudAiplatformV1AggregationOutput",
@@ -38515,6 +39359,12 @@
 },
 "type": "object"
 },
+"GoogleCloudAiplatformV1DeprovisionSemanticGovernancePolicyEngineRequest": {
+"description": "Request message for SemanticGovernancePolicyEngineService.DeprovisionSemanticGovernancePolicyEngine.",
+"id": "GoogleCloudAiplatformV1DeprovisionSemanticGovernancePolicyEngineRequest",
+"properties": {},
+"type": "object"
+},
 "GoogleCloudAiplatformV1DestinationFeatureSetting": {
 "id": "GoogleCloudAiplatformV1DestinationFeatureSetting",
 "properties": {
@@ -43827,6 +44677,61 @@
 },
 "type": "object"
 },
+"GoogleCloudAiplatformV1GatewayConfig": {
+"description": "Configuration for a single gateway.",
+"id": "GoogleCloudAiplatformV1GatewayConfig",
+"properties": {
+"dnsRecord": {
+"description": "Output only. The fully qualified record name of the created A-record in Cloud DNS.",
+"readOnly": true,
+"type": "string"
+},
+"dnsZoneName": {
+"description": "Optional. FQDN of the private DNS zone to create DNS record set for PSC endpoint.",
+"type": "string"
+},
+"ipAddress": {
+"description": "Output only. The private IP address of the PSC endpoint.",
+"readOnly": true,
+"type": "string"
+},
+"network": {
+"description": "Optional. The URI of the network resource where PSC-E will be provisioned. if not provided `default` network will be used. Format: projects/{project}/global/networks/{network}",
+"type": "string"
+},
+"pscEndpoint": {
+"description": "Output only. The self-link or name of the Private Service Connect endpoint forwarding rule.",
+"readOnly": true,
+"type": "string"
+},
+"state": {
+"description": "Output only. The state of the Gateway configuration.",
+"enum": [
+"STATE_UNSPECIFIED",
+"PROVISIONING",
+"ACTIVE",
+"DEPROVISIONING",
+"INACTIVE",
+"FAILED"
+],
+"enumDescriptions": [
+"The default value. This value is used if the state is omitted.",
+"The Gateway is being provisioned.",
+"The Gateway is active and ready to use.",
+"The Gateway is being de-provisioned.",
+"The Gateway is inactive.",
+"The Gateway failed to be provisioned."
+],
+"readOnly": true,
+"type": "string"
+},
+"subnetwork": {
+"description": "Optional. The URI of the subnetwork resource where PSC-E will be provisioned. if not provided `default` subnet will be used from the same {location} Format: projects/{project}/regions/{region}/subnetworks/{subnetwork}",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudAiplatformV1GcsDestination": {
 "description": "The Google Cloud Storage location where the output is to be written to.",
 "id": "GoogleCloudAiplatformV1GcsDestination",
@@ -46347,6 +47252,70 @@
 },
 "type": "object"
 },
+"GoogleCloudAiplatformV1IngestEventsRequest": {
+"description": "Request message for MemoryBankService.IngestEvents.",
+"id": "GoogleCloudAiplatformV1IngestEventsRequest",
+"properties": {
+"directContentsSource": {
+"$ref": "GoogleCloudAiplatformV1IngestionDirectContentsSource",
+"description": "Ingest events directly from the request."
+},
+"forceFlush": {
+"description": "Optional. Forces a flush of all pending events in the stream and triggers memory generation immediately bypassing any conditions configured in the `generation_trigger_config`.",
+"type": "boolean"
+},
+"generationTriggerConfig": {
+"$ref": "GoogleCloudAiplatformV1MemoryGenerationTriggerConfig",
+"description": "Optional. Configuration for triggering memory generation from this ingestion. If not set, then the stream will be force flushed immediately."
+},
+"scope": {
+"additionalProperties": {
+"type": "string"
+},
+"description": "Required. The scope of the memories that should be generated from the stream. Memories will be consolidated across memories with the same scope. Scope values cannot contain the wildcard character '*'.",
+"type": "object"
+},
+"streamId": {
+"description": "Optional. The ID of the stream to ingest events into. If not provided, a new one will be created.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"GoogleCloudAiplatformV1IngestionDirectContentsSource": {
+"description": "Ingest events directly from the request.",
+"id": "GoogleCloudAiplatformV1IngestionDirectContentsSource",
+"properties": {
+"events": {
+"description": "Required. The events to ingest.",
+"items": {
+"$ref": "GoogleCloudAiplatformV1IngestionDirectContentsSourceEvent"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"GoogleCloudAiplatformV1IngestionDirectContentsSourceEvent": {
+"description": "A single event to ingest.",
+"id": "GoogleCloudAiplatformV1IngestionDirectContentsSourceEvent",
+"properties": {
+"content": {
+"$ref": "GoogleCloudAiplatformV1Content",
+"description": "Required. The content of the event."
+},
+"eventId": {
+"description": "Optional. A unique identifier for the event. If an event with the same event_id is ingested multiple times, it will be de-duplicated.",
+"type": "string"
+},
+"eventTime": {
+"description": "Optional. The time at which the event occurred. If provided, this timestamp will be used for ordering events within a stream. If not provided, the server-side ingestion time will be used.",
+"format": "google-datetime",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudAiplatformV1InputDataConfig": {
 "description": "Specifies Vertex AI owned input data to be used for training, and possibly evaluating, the Model.",
 "id": "GoogleCloudAiplatformV1InputDataConfig",
@@ -46639,6 +47608,24 @@
 },
 "type": "object"
 },
+"GoogleCloudAiplatformV1ListAgentsResponse": {
+"description": "Response message for AgentService.ListAgents.",
+"id": "GoogleCloudAiplatformV1ListAgentsResponse",
+"properties": {
+"agents": {
+"description": "The agents matching the request.",
+"items": {
+"$ref": "GoogleCloudAiplatformV1Agent"
+},
+"type": "array"
+},
+"nextPageToken": {
+"description": "A token to retrieve the next page of results. Pass this value as ListAgentsRequest.page_token in a subsequent call.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudAiplatformV1ListAnnotationsResponse": {
 "description": "Response message for DatasetService.ListAnnotations.",
 "id": "GoogleCloudAiplatformV1ListAnnotationsResponse",
@@ -47612,6 +48599,24 @@
 },
 "type": "object"
 },
+"GoogleCloudAiplatformV1ListSemanticGovernancePoliciesResponse": {
+"description": "Response message for SemanticGovernancePolicyService.ListSemanticGovernancePolicies.",
+"id": "GoogleCloudAiplatformV1ListSemanticGovernancePoliciesResponse",
+"properties": {
+"nextPageToken": {
+"description": "A token to retrieve the next page of results. Pass to ListSemanticGovernancePoliciesRequest.page_token to obtain that page.",
+"type": "string"
+},
+"semanticGovernancePolicies": {
+"description": "The list of SemanticGovernancePolicies.",
+"items": {
+"$ref": "GoogleCloudAiplatformV1SemanticGovernancePolicy"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
 "GoogleCloudAiplatformV1ListSessionsResponse": {
 "description": "Response message for SessionService.ListSessions.",
 "id": "GoogleCloudAiplatformV1ListSessionsResponse",
@@ -62487,6 +63492,145 @@
 },
 "type": "object"
 },
+"GoogleCloudAiplatformV1SemanticGovernancePolicy": {
+"description": "Represents a governance policy applied to a specific Agent and optionally a specific Tool within that Agent.",
+"id": "GoogleCloudAiplatformV1SemanticGovernancePolicy",
+"properties": {
+"agent": {
+"description": "Required. The name of the agent in Agent Registry that is affected by this policy.",
+"type": "string"
+},
+"agentIdentity": {
+"description": "Output only. Represents the principal of the agent, used by the Policy Decision Point (PDP) for governance checks. For more information, see https://docs.cloud.google.com/agent-builder/agent-engine/agent-identity Format: `principal://TRUST_DOMAIN/NAMESPACE/AGENT_NAME` Example: `principal://agents.global.org-ORGANIZATION_ID.system.id.goog/resources/aiplatform/projects/PROJECT_NUMBER/locations/LOCATION/reasoningEngines/AGENT_ENGINE_ID`",
+"readOnly": true,
+"type": "string"
+},
+"createTime": {
+"description": "Output only. Timestamp when this SemanticGovernancePolicy was created.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"description": {
+"description": "Optional. The description of the SemanticGovernancePolicy.",
+"type": "string"
+},
+"displayName": {
+"description": "Optional. The user-defined name of the SemanticGovernancePolicy.",
+"type": "string"
+},
+"etag": {
+"description": "Optional. Used to perform consistent read-modify-write transactions. If provided, the request will only succeed if the etag matches the current value. Otherwise, an ABORTED error will be returned.",
+"type": "string"
+},
+"mcpTools": {
+"description": "Optional. The McpTools that are affected by this policy.",
+"items": {
+"$ref": "GoogleCloudAiplatformV1SemanticGovernancePolicyMcpTool"
+},
+"type": "array"
+},
+"name": {
+"description": "Identifier. Resource name of the SemanticGovernancePolicy.",
+"type": "string"
+},
+"naturalLanguageConstraint": {
+"description": "Required. The natural language constraint of the SemanticGovernancePolicy.",
+"type": "string"
+},
+"updateTime": {
+"description": "Output only. Timestamp when this SemanticGovernancePolicy was last updated.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"GoogleCloudAiplatformV1SemanticGovernancePolicyEngine": {
+"description": "Define a singleton SemanticGovernancePolicyEngine resource under a project and location.",
+"id": "GoogleCloudAiplatformV1SemanticGovernancePolicyEngine",
+"properties": {
+"createTime": {
+"description": "Output only. Timestamp when this SemanticGovernancePolicyEngine was created.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"gatewayConfigs": {
+"additionalProperties": {
+"$ref": "GoogleCloudAiplatformV1GatewayConfig"
+},
+"description": "Optional. Configurations for gateways. The keys are user-defined names for each gateway. At most 5 gateway configurations are allowed.",
+"type": "object"
+},
+"ipAddress": {
+"description": "Output only. The private IPv4 address of the PSC endpoint.",
+"readOnly": true,
+"type": "string"
+},
+"name": {
+"description": "Identifier. The resource name of the SemanticGovernancePolicyEngine. Format: projects/{project}/locations/{location}/semanticGovernancePolicyEngine",
+"type": "string"
+},
+"pscForwardingRule": {
+"description": "Output only. The URI of the PSC endpoint resource created in customer project. Format: projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}",
+"readOnly": true,
+"type": "string"
+},
+"pscServiceAttachment": {
+"description": "Output only. URI of the PSC attachment resource provided by SGP. Format: projects/{project}/regions/{region}/serviceAttachments/{service_attachment}",
+"readOnly": true,
+"type": "string"
+},
+"state": {
+"description": "Output only. The state of the SemanticGovernancePolicyEngine.",
+"enum": [
+"STATE_UNSPECIFIED",
+"PROVISIONING",
+"ACTIVE",
+"DEPROVISIONING",
+"INACTIVE",
+"FAILED"
+],
+"enumDescriptions": [
+"Default value. This value is unused.",
+"A provisioning operation is in progress. The engine will transition to ACTIVE on success or FAILED on failure.",
+"The engine and all of its gateway configurations are provisioned and ready to serve traffic.",
+"A deprovisioning operation is in progress. The engine will transition to INACTIVE on success or FAILED on failure.",
+"The engine has no provisioned infrastructure: either never provisioned, or successfully deprovisioned.",
+"The most recent provisioning or deprovisioning operation failed. The engine may have partial infrastructure that needs explicit deprovision; the engine may be either re-provisioned or deprovisioned to recover."
+],
+"readOnly": true,
+"type": "string"
+},
+"updateTime": {
+"description": "Output only. Timestamp when this SemanticGovernancePolicyEngine was last updated.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"GoogleCloudAiplatformV1SemanticGovernancePolicyMcpTool": {
+"description": "Represents a governance policy applied to MCP tools used by an Agent.",
+"id": "GoogleCloudAiplatformV1SemanticGovernancePolicyMcpTool",
+"properties": {
+"mcpServer": {
+"description": "Required. The resource name of the McpServer in Agent Registry that is affected by this policy. Format: `projects/{project}/locations/{location}/mcpServers/{mcp_server}`",
+"type": "string"
+},
+"tools": {
+"description": "Optional. The resource names of the McpTools used by the Agent that is affected by this policy. If not specified, the policy applies to all McpTools in the McpServer.",
+"items": {
+"type": "string"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
 "GoogleCloudAiplatformV1ServiceAccountSpec": {
 "description": "Configuration for the use of custom service account to run the workloads.",
 "id": "GoogleCloudAiplatformV1ServiceAccountSpec",
@@ -65154,6 +66298,10 @@
 },
 "description": "Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { \"source_policy\": { \"include_domains\": [\"google.com\", \"wikipedia.org\"], \"exclude_domains\": [\"example.com\"] }, \"fetch_policy\": { \"max_age_seconds\": 3600 } }",
 "type": "object"
+},
+"enableDataRetention": {
+"description": "Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is \"false\" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is \"true\", the Parallel Web Search for Grounding - ZDR subscription will be used.",
+"type": "boolean"
 }
 },
 "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json b/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json
index 5420b7f..84b315e 100644
--- a/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/aiplatform.v1beta1.json
@@ -9238,40 +9238,6 @@
 "scopes": [
 "https://www.googleapis.com/auth/cloud-platform"
 ]
-},
-"patch": {
-"description": "Updates an existing AgentAnomalyDetectionScope.",
-"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/agentAnomalyDetectionScopes/{agentAnomalyDetectionScopesId}",
-"httpMethod": "PATCH",
-"id": "aiplatform.projects.locations.agentAnomalyDetectionScopes.patch",
-"parameterOrder": [
-"name"
-],
-"parameters": {
-"name": {
-"description": "Identifier. The resource name of the AgentAnomalyDetectionScope. Format: `projects/{project}/locations/{location}/agentAnomalyDetectionScopes/{agent_anomaly_detection_scope}`",
-"location": "path",
-"pattern": "^projects/[^/]+/locations/[^/]+/agentAnomalyDetectionScopes/[^/]+$",
-"required": true,
-"type": "string"
-},
-"updateMask": {
-"description": "Optional. The list of fields to update. Supported paths: `display_name`, `auto_enroll`, `log_buckets`, `observability_buckets`.",
-"format": "google-fieldmask",
-"location": "query",
-"type": "string"
-}
-},
-"path": "v1beta1/{+name}",
-"request": {
-"$ref": "GoogleCloudAiplatformV1beta1AgentAnomalyDetectionScope"
-},
-"response": {
-"$ref": "GoogleLongrunningOperation"
-},
-"scopes": [
-"https://www.googleapis.com/auth/cloud-platform"
-]
 }
 }
 },
@@ -25126,64 +25092,6 @@
 },
 "monitoredAgents": {
 "methods": {
-"create": {
-"description": "Creates a new MonitoredAgent in a specific Location.",
-"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents",
-"httpMethod": "POST",
-"id": "aiplatform.projects.locations.monitoredAgents.create",
-"parameterOrder": [
-"parent"
-],
-"parameters": {
-"monitoredAgentId": {
-"description": "Required. The ID to use for the MonitoredAgent, which will become the final component of the MonitoredAgent's resource name.",
-"location": "query",
-"type": "string"
-},
-"parent": {
-"description": "Required. The resource name of the Location to create the MonitoredAgent in. Format: `projects/{project}/locations/{location}`",
-"location": "path",
-"pattern": "^projects/[^/]+/locations/[^/]+$",
-"required": true,
-"type": "string"
-}
-},
-"path": "v1beta1/{+parent}/monitoredAgents",
-"request": {
-"$ref": "GoogleCloudAiplatformV1beta1MonitoredAgent"
-},
-"response": {
-"$ref": "GoogleCloudAiplatformV1beta1MonitoredAgent"
-},
-"scopes": [
-"https://www.googleapis.com/auth/cloud-platform"
-]
-},
-"delete": {
-"description": "Deletes a specific MonitoredAgent.",
-"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}",
-"httpMethod": "DELETE",
-"id": "aiplatform.projects.locations.monitoredAgents.delete",
-"parameterOrder": [
-"name"
-],
-"parameters": {
-"name": {
-"description": "Required. The name of the MonitoredAgent resource to be deleted. Format: `projects/{project}/locations/{location}/monitoredAgents/{monitored_agent}`",
-"location": "path",
-"pattern": "^projects/[^/]+/locations/[^/]+/monitoredAgents/[^/]+$",
-"required": true,
-"type": "string"
-}
-},
-"path": "v1beta1/{+name}",
-"response": {
-"$ref": "GoogleProtobufEmpty"
-},
-"scopes": [
-"https://www.googleapis.com/auth/cloud-platform"
-]
-},
 "disable": {
 "description": "Disables a specific MonitoredAgent.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/monitoredAgents/{monitoredAgentsId}:disable",
@@ -47198,7 +47106,7 @@
 }
 }
 },
-"revision": "20260617",
+"revision": "20260623",
 "rootUrl": "https://aiplatform.googleapis.com/",
 "schemas": {
 "CloudAiLargeModelsVisionGenerateVideoExperiments": {
@@ -47828,9 +47736,6 @@
 "description": "The name of the `Agent` used for generating the completion.",
 "type": "string"
 },
-"code_mender_config": {
-"$ref": "GenaiVertexV1beta1CodeMenderAgentConfig"
-},
 "deepResearchConfig": {
 "$ref": "GenaiVertexV1beta1DeepResearchAgentConfig"
 },
@@ -48181,135 +48086,27 @@
 },
 "type": "object"
 },
-"GenaiVertexV1beta1CodeMenderAgentConfig": {
-"description": "Configuration for the CodeMender agent.",
-"id": "GenaiVertexV1beta1CodeMenderAgentConfig",
-"properties": {
-"find_request": {
-"$ref": "GenaiVertexV1beta1CodeMenderAgentConfigFindRequest",
-"description": "Parameters for finding vulnerabilities."
-},
-"fix_request": {
-"$ref": "GenaiVertexV1beta1CodeMenderAgentConfigFixRequest",
-"description": "Parameters for fixing vulnerabilities."
-},
-"model": {
-"description": "The name of the model to use for the CodeMender agent. One CodeMender session will only use one model.",
-"type": "string"
-},
-"session_config": {
-"$ref": "GenaiVertexV1beta1CodeMenderAgentConfigSessionConfig",
-"description": "Optional session-specific configurations to override default agent behavior."
-},
-"session_id": {
-"description": "Parameter for grouping multiple interactions that belong to the same CodeMender session.",
-"type": "string"
-}
-},
-"type": "object"
-},
-"GenaiVertexV1beta1CodeMenderAgentConfigFileContent": {
-"description": "Content of a single file in the codebase.",
-"id": "GenaiVertexV1beta1CodeMenderAgentConfigFileContent",
-"properties": {
-"content": {
-"description": "The UTF-8 encoded text content of the file.",
-"type": "string"
-},
-"path": {
-"description": "The relative path of the file from the project root.",
-"type": "string"
-}
-},
-"type": "object"
-},
-"GenaiVertexV1beta1CodeMenderAgentConfigFindRequest": {
-"description": "Request parameters specific to FIND sessions, used for discovering vulnerabilities in a codebase.",
-"id": "GenaiVertexV1beta1CodeMenderAgentConfigFindRequest",
-"properties": {
-"description": {
-"description": "Additional context or custom instructions provided by the user to guide the vulnerability analysis.",
-"type": "string"
-},
-"finding_id": {
-"description": "The identifier of a specific finding to verify. This is primarily used in VERIFY mode to focus the agent's execution-based validation on a single vulnerability.",
-"type": "string"
-},
-"source_files": {
-"description": "A list of source files to provide as context for the scan.",
-"items": {
-"$ref": "GenaiVertexV1beta1CodeMenderAgentConfigFileContent"
-},
-"type": "array"
-}
-},
-"type": "object"
-},
-"GenaiVertexV1beta1CodeMenderAgentConfigFixRequest": {
-"description": "Request parameters specific to FIX sessions, used for generating and validating security patches.",
-"id": "GenaiVertexV1beta1CodeMenderAgentConfigFixRequest",
-"properties": {
-"description": {
-"description": "Additional context or custom instructions provided by the user to guide the patch generation process.",
-"type": "string"
-},
-"finding_id": {
-"description": "The identifier of the specific security finding to be remediated. This ID maps to a previously discovered vulnerability.",
-"type": "string"
-},
-"source_files": {
-"description": "A list of source files providing context for the remediation. These files are typically the ones containing the identified vulnerability.",
-"items": {
-"$ref": "GenaiVertexV1beta1CodeMenderAgentConfigFileContent"
-},
-"type": "array"
-}
-},
-"type": "object"
-},
-"GenaiVertexV1beta1CodeMenderAgentConfigSessionConfig": {
-"description": "The configuration of CodeMender sessions.",
-"id": "GenaiVertexV1beta1CodeMenderAgentConfigSessionConfig",
-"properties": {
-"max_rounds": {
-"description": "The maximum number of interaction rounds the agent is allowed to perform before reaching a timeout.",
-"format": "int32",
-"type": "integer"
-},
-"pipeline_mode": {
-"description": "The pipeline mode of a CodeMender session. It can only be used for a find session.",
-"enum": [
-"PIPELINE_MODE_UNSPECIFIED",
-"PIPELINE_MODE_SCAN",
-"PIPELINE_MODE_VERIFY"
-],
-"enumDescriptions": [
-"Default value. This value is unused.",
-"Fast scan using only the initial classifier.",
-"Performs classification followed by detailed investigation."
-],
-"type": "string"
-},
-"topology": {
-"description": "The cognitive architecture or \"thinking\" topology used by the agent (e.g. \"default\", \"deep\").",
-"type": "string"
-}
-},
-"type": "object"
-},
 "GenaiVertexV1beta1ComputerUse": {
 "description": "A tool that can be used by the model to interact with the computer.",
 "id": "GenaiVertexV1beta1ComputerUse",
 "properties": {
+"enablePromptInjectionDetection": {
+"description": "Whether enable the prompt injection detection check on computer-use request.",
+"type": "boolean"
+},
 "environment": {
 "description": "The environment being operated.",
 "enum": [
 "ENVIRONMENT_UNSPECIFIED",
-"BROWSER"
+"BROWSER",
+"MOBILE",
+"DESKTOP"
 ],
 "enumDescriptions": [
 "Defaults to browser.",
-"Operates in a web browser."
+"Operates in a web browser.",
+"Operates in a mobile environment.",
+"Operates in a desktop environment."
 ],
 "type": "string"
 },
@@ -49798,6 +49595,7 @@
 "type": "string"
 },
 "responseModalities": {
+"deprecated": true,
 "description": "The requested modalities of the response (TEXT, IMAGE, AUDIO).",
 "items": {
 "enum": [
@@ -52006,10 +51804,6 @@
 "description": "Resource representing an Agent Anomaly Detection Scope.",
 "id": "GoogleCloudAiplatformV1beta1AgentAnomalyDetectionScope",
 "properties": {
-"autoEnroll": {
-"description": "Optional. When true, agents created in Agent Engine that share log and observability buckets with this scope are automatically enrolled as MonitoredAgents. When false, agents must be enrolled explicitly via MonitoredAgent operations.",
-"type": "boolean"
-},
 "displayName": {
 "description": "Optional. User provided display name of the AgentAnomalyDetectionScope.",
 "type": "string"
@@ -52031,6 +51825,27 @@
 "type": "string"
 },
 "type": "array"
+},
+"state": {
+"description": "Output only. The lifecycle state of the scope. See `State` for the semantics of each value.",
+"enum": [
+"STATE_UNSPECIFIED",
+"CREATING",
+"ACTIVE",
+"DELETING",
+"FAILED",
+"UPDATING"
+],
+"enumDescriptions": [
+"The default value. This value is unused.",
+"The scope is being provisioned: tenant project turn-up, Cloud Logging / Observability link creation, and IAM grants are still in flight. The scope is not yet usable.",
+"The scope is fully provisioned and usable.",
+"The scope is being torn down.",
+"Creation failed. The scope is not usable. The scope must be deleted before another scope can be created in this region.",
+"The scope is being updated. It remains readable in this state."
+],
+"readOnly": true,
+"type": "string"
 }
 },
 "type": "object"
@@ -86882,10 +86697,6 @@
 "readOnly": true,
 "type": "string"
 },
-"targetProject": {
-"description": "Optional. The project where network, subnetwork and dns resources are located. If not provided, it is assumed to be the same project of SemanticGovernancePolicyEngine. This field is for Shared VPC scenarios, where network resources may be in a target project and SGP engine in a service project.",
-"type": "string"
-},
 "updateTime": {
 "description": "Output only. Timestamp when this SemanticGovernancePolicyEngine was last updated.",
 "format": "google-datetime",
@@ -90285,6 +90096,10 @@
 },
 "description": "Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { \"source_policy\": { \"include_domains\": [\"google.com\", \"wikipedia.org\"], \"exclude_domains\": [\"example.com\"] }, \"fetch_policy\": { \"max_age_seconds\": 3600 } }",
 "type": "object"
+},
+"enableDataRetention": {
+"description": "Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is \"false\" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is \"true\", the Parallel Web Search for Grounding - ZDR subscription will be used.",
+"type": "boolean"
 }
 },
 "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/androidpublisher.v3.json b/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
index 4a68b21..602c2c2 100644
--- a/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
+++ b/googleapiclient/discovery_cache/documents/androidpublisher.v3.json
@@ -1531,6 +1531,21 @@
 "imageType"
 ],
 "parameters": {
+"aiGeneratedState": {
+"description": "Optional. Whether the image was generated by AI. Attested by the developer.",
+"enum": [
+"aiGeneratedStateUnspecified",
+"aiGeneratedStateNotAiGenerated",
+"aiGeneratedStateAiGeneratedDeveloperAttested"
+],
+"enumDescriptions": [
+"Catch-all for unrecognized enum values. See go/protodosdonts.",
+"The content is not generated by AI.",
+"The content is generated by AI and attested by the developer."
+],
+"location": "query",
+"type": "string"
+},
 "editId": {
 "description": "Identifier of the edit.",
 "location": "path",
@@ -5639,7 +5654,7 @@
 }
 }
 },
-"revision": "20260528",
+"revision": "20260625",
 "rootUrl": "https://androidpublisher.googleapis.com/",
 "schemas": {
 "Abi": {
@@ -8392,6 +8407,20 @@
 "description": "An uploaded image. The resource for ImagesService.",
 "id": "Image",
 "properties": {
+"aiGeneratedState": {
+"description": "Optional. Whether the image was generated by AI. Attested by the developer.",
+"enum": [
+"aiGeneratedStateUnspecified",
+"aiGeneratedStateNotAiGenerated",
+"aiGeneratedStateAiGeneratedDeveloperAttested"
+],
+"enumDescriptions": [
+"Catch-all for unrecognized enum values. See go/protodosdonts.",
+"The content is not generated by AI.",
+"The content is generated by AI and attested by the developer."
+],
+"type": "string"
+},
 "id": {
 "description": "A unique id representing this image.",
 "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/apigee.v1.json b/googleapiclient/discovery_cache/documents/apigee.v1.json
index 4020866..37bb493 100644
--- a/googleapiclient/discovery_cache/documents/apigee.v1.json
+++ b/googleapiclient/discovery_cache/documents/apigee.v1.json
@@ -11964,7 +11964,7 @@
 }
 }
 },
-"revision": "20260511",
+"revision": "20260622",
 "rootUrl": "https://apigee.googleapis.com/",
 "schemas": {
 "EdgeConfigstoreBundleBadBundle": {
@@ -12596,6 +12596,10 @@
 "$ref": "GoogleCloudApigeeV1OperationGroup",
 "description": "Configuration used to group Apigee proxies or remote services with resources, method types, and quotas. The resource refers to the resource URI (excluding the base path). With this grouping, the API product creator is able to fine-tune and give precise control over which REST methods have access to specific resources and how many calls can be made (using the `quota` setting). **Note:** The `api_resources` setting cannot be specified for both the API product and operation group; otherwise the call will fail."
 },
+"payloadOperationGroup": {
+"$ref": "GoogleCloudApigeeV1PayloadOperationGroup",
+"description": "Optional. Configuration used to group Apigee proxies with payload-based operations and quotas. Unlike `operation_group`, which matches on the URL path, this grouping matches on operation identifiers extracted from the request payload (for example, JSON-RPC method and tool names). This enables fine-grained authorization and quota enforcement for protocols such as MCP where multiple operations share a single endpoint. **Note:** The `proxies` and `api_resources` settings cannot be specified for both the API product and payload operation group; otherwise the call will fail."
+},
 "proxies": {
 "description": "Comma-separated list of API proxy names to which this API product is bound. By specifying API proxies, you can associate resources in the API product with specific API proxies, preventing developers from accessing those resources through other API proxies. Apigee rejects requests to API proxies that are not listed. **Note:** The API proxy names must already exist in the specified environment as they will be validated upon creation.",
 "items": {
@@ -18065,6 +18069,60 @@
 },
 "type": "object"
 },
+"GoogleCloudApigeeV1PayloadOperation": {
+"description": "Represents a single operation identifier extracted from the request payload.",
+"id": "GoogleCloudApigeeV1PayloadOperation",
+"properties": {
+"operation": {
+"description": "Required. The operation name extracted from the request payload at runtime by the ParsePayload policy. For example, for MCP protocol requests, this could be `\"tools/list\"` or `\"tools/call/get_weather\"`. Wildcards are not supported.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"GoogleCloudApigeeV1PayloadOperationConfig": {
+"description": "Binds the payload operations in an API proxy with the associated quota enforcement.",
+"id": "GoogleCloudApigeeV1PayloadOperationConfig",
+"properties": {
+"apiSource": {
+"description": "Required. Name of the API proxy with which the payload operations and quota are associated.",
+"type": "string"
+},
+"attributes": {
+"description": "Optional. Custom attributes associated with the operation.",
+"items": {
+"$ref": "GoogleCloudApigeeV1Attribute"
+},
+"type": "array"
+},
+"operations": {
+"description": "Required. List of payload operations for the API proxy to which quota will be applied.",
+"items": {
+"$ref": "GoogleCloudApigeeV1PayloadOperation"
+},
+"type": "array"
+},
+"quota": {
+"$ref": "GoogleCloudApigeeV1Quota",
+"description": "Optional. Quota parameters to be enforced for the operations and API source combination. If none are specified, quota enforcement will not be done unless a quota is defined at the API product level."
+}
+},
+"type": "object"
+},
+"GoogleCloudApigeeV1PayloadOperationGroup": {
+"description": "List of payload operation configuration details associated with Apigee API proxies. Payload operations enable governance of protocols where operations are embedded in the request body (such as JSON-RPC) rather than defined by the URL path.",
+"id": "GoogleCloudApigeeV1PayloadOperationGroup",
+"properties": {
+"operationConfigs": {
+"description": "Required. List of payload operation configurations for Apigee API proxies that are associated with this API product.",
+"items": {
+"$ref": "GoogleCloudApigeeV1PayloadOperationConfig"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
 "GoogleCloudApigeeV1PodStatus": {
 "id": "GoogleCloudApigeeV1PodStatus",
 "properties": {
@@ -21243,6 +21301,20 @@
 "samplingConfig": {
 "$ref": "GoogleCloudApigeeV1TraceSamplingConfig",
 "description": "Distributed trace configuration for all API proxies in an environment. You can also override the configuration for a specific API proxy using the distributed trace configuration overrides API."
+},
+"traceProtocol": {
+"description": "Optional. The trace protocol to use. Configuration Requirements (if trace_protocol is OTLP): - Allowed Exporters: CLOUD_TRACE or OPEN_TELEMETRY_COLLECTOR. - If Exporter is OPEN_TELEMETRY_COLLECTOR: - endpoint refers to a valid OTLP collector URL. - If Exporter is CLOUD_TRACE: - endpoint refers to a valid project ID.",
+"enum": [
+"TRACE_PROTOCOL_UNSPECIFIED",
+"OPEN_CENSUS",
+"OTLP"
+],
+"enumDescriptions": [
+"Protocol unspecified. Defaults to OPEN_CENSUS.",
+"Uses OpenCensus protocol.",
+"Uses OpenTelemetry Protocol (OTLP)."
+],
+"type": "string"
 }
 },
 "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/apihub.v1.json b/googleapiclient/discovery_cache/documents/apihub.v1.json
index f23d7bb..4e7be0c 100644
--- a/googleapiclient/discovery_cache/documents/apihub.v1.json
+++ b/googleapiclient/discovery_cache/documents/apihub.v1.json
@@ -2,6 +2,12 @@
 "auth": {
 "oauth2": {
 "scopes": {
+"https://www.googleapis.com/auth/apihub.readonly": {
+"description": "See your Google Cloud API hub data and the email address of your Google Account"
+},
+"https://www.googleapis.com/auth/apihub.readwrite": {
+"description": "See, edit, configure, and delete your Google Cloud API hub data and see the email address for your Google Account"
+},
 "https://www.googleapis.com/auth/cloud-platform": {
 "description": "See, edit, configure, and delete your Google Cloud data and see the email address for your Google Account."
 }
@@ -181,6 +187,7 @@
 "$ref": "GoogleLongrunningOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -206,6 +213,8 @@
 "$ref": "GoogleCloudLocationLocation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -253,6 +262,8 @@
 "$ref": "GoogleCloudLocationListLocationsResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -278,6 +289,8 @@
 "$ref": "GoogleCloudApihubV1LookupRuntimeProjectAttachmentResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -334,6 +347,8 @@
 "$ref": "GoogleCloudApihubV1RetrieveApiViewsResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -362,6 +377,8 @@
 "$ref": "GoogleCloudApihubV1SearchResourcesResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -391,6 +408,8 @@
 "$ref": "GoogleCloudApihubV1Addon"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -432,6 +451,8 @@
 "$ref": "GoogleCloudApihubV1ListAddonsResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -460,6 +481,7 @@
 "$ref": "GoogleLongrunningOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -497,6 +519,7 @@
 "$ref": "GoogleLongrunningOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -522,6 +545,7 @@
 "$ref": "GoogleLongrunningOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -547,6 +571,8 @@
 "$ref": "GoogleCloudApihubV1ApiHubInstance"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -572,6 +598,8 @@
 "$ref": "GoogleCloudApihubV1LookupApiHubInstanceResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -606,6 +634,7 @@
 "$ref": "GoogleLongrunningOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -643,6 +672,7 @@
 "$ref": "GoogleCloudApihubV1Api"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -673,6 +703,7 @@
 "$ref": "Empty"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -698,6 +729,8 @@
 "$ref": "GoogleCloudApihubV1Api"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -739,6 +772,8 @@
 "$ref": "GoogleCloudApihubV1ListApisResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -773,6 +808,7 @@
 "$ref": "GoogleCloudApihubV1Api"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -810,6 +846,7 @@
 "$ref": "GoogleCloudApihubV1Version"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -840,6 +877,7 @@
 "$ref": "Empty"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -865,6 +903,8 @@
 "$ref": "GoogleCloudApihubV1Version"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -906,6 +946,8 @@
 "$ref": "GoogleCloudApihubV1ListVersionsResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -940,6 +982,7 @@
 "$ref": "GoogleCloudApihubV1Version"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -969,6 +1012,8 @@
 "$ref": "GoogleCloudApihubV1Definition"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -1006,6 +1051,7 @@
 "$ref": "GoogleCloudApihubV1ApiOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1031,6 +1077,7 @@
 "$ref": "Empty"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1056,6 +1103,8 @@
 "$ref": "GoogleCloudApihubV1ApiOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1097,6 +1146,8 @@
 "$ref": "GoogleCloudApihubV1ListApiOperationsResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1131,6 +1182,7 @@
 "$ref": "GoogleCloudApihubV1ApiOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -1168,6 +1220,7 @@
 "$ref": "GoogleCloudApihubV1Spec"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1193,6 +1246,7 @@
 "$ref": "Empty"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1233,6 +1287,8 @@
 "$ref": "GoogleCloudApihubV1FetchAdditionalSpecContentResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1258,6 +1314,8 @@
 "$ref": "GoogleCloudApihubV1Spec"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1283,6 +1341,8 @@
 "$ref": "GoogleCloudApihubV1SpecContents"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1311,6 +1371,7 @@
 "$ref": "Empty"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1352,6 +1413,8 @@
 "$ref": "GoogleCloudApihubV1ListSpecsResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1386,6 +1449,7 @@
 "$ref": "GoogleCloudApihubV1Spec"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -1427,6 +1491,7 @@
 "$ref": "GoogleCloudApihubV1Attribute"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1452,6 +1517,7 @@
 "$ref": "Empty"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1477,6 +1543,8 @@
 "$ref": "GoogleCloudApihubV1Attribute"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1518,6 +1586,8 @@
 "$ref": "GoogleCloudApihubV1ListAttributesResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1552,6 +1622,7 @@
 "$ref": "GoogleCloudApihubV1Attribute"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -1589,6 +1660,7 @@
 "$ref": "GoogleCloudApihubV1Curation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1614,6 +1686,7 @@
 "$ref": "Empty"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1639,6 +1712,8 @@
 "$ref": "GoogleCloudApihubV1Curation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1680,6 +1755,8 @@
 "$ref": "GoogleCloudApihubV1ListCurationsResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1714,6 +1791,7 @@
 "$ref": "GoogleCloudApihubV1Curation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -1751,6 +1829,7 @@
 "$ref": "GoogleCloudApihubV1Dependency"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1776,6 +1855,7 @@
 "$ref": "Empty"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1801,6 +1881,8 @@
 "$ref": "GoogleCloudApihubV1Dependency"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1842,6 +1924,8 @@
 "$ref": "GoogleCloudApihubV1ListDependenciesResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1876,6 +1960,7 @@
 "$ref": "GoogleCloudApihubV1Dependency"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -1913,6 +1998,7 @@
 "$ref": "GoogleCloudApihubV1Deployment"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1938,6 +2024,7 @@
 "$ref": "Empty"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -1963,6 +2050,8 @@
 "$ref": "GoogleCloudApihubV1Deployment"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2004,6 +2093,8 @@
 "$ref": "GoogleCloudApihubV1ListDeploymentsResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2038,6 +2129,7 @@
 "$ref": "GoogleCloudApihubV1Deployment"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -2067,6 +2159,8 @@
 "$ref": "GoogleCloudApihubV1DiscoveredApiObservation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2103,6 +2197,8 @@
 "$ref": "GoogleCloudApihubV1ListDiscoveredApiObservationsResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -2132,6 +2228,8 @@
 "$ref": "GoogleCloudApihubV1DiscoveredApiOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2168,6 +2266,8 @@
 "$ref": "GoogleCloudApihubV1ListDiscoveredApiOperationsResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -2207,6 +2307,7 @@
 "$ref": "GoogleCloudApihubV1ExternalApi"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2232,6 +2333,7 @@
 "$ref": "Empty"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2257,6 +2359,8 @@
 "$ref": "GoogleCloudApihubV1ExternalApi"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2293,6 +2397,8 @@
 "$ref": "GoogleCloudApihubV1ListExternalApisResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2327,6 +2433,7 @@
 "$ref": "GoogleCloudApihubV1ExternalApi"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -2364,6 +2471,7 @@
 "$ref": "GoogleCloudApihubV1HostProjectRegistration"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2389,6 +2497,8 @@
 "$ref": "GoogleCloudApihubV1HostProjectRegistration"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2435,6 +2545,8 @@
 "$ref": "GoogleCloudApihubV1ListHostProjectRegistrationsResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -2467,6 +2579,7 @@
 "$ref": "Empty"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2492,6 +2605,7 @@
 "$ref": "Empty"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2517,6 +2631,8 @@
 "$ref": "GoogleLongrunningOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2563,6 +2679,8 @@
 "$ref": "GoogleLongrunningListOperationsResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -2600,6 +2718,7 @@
 "$ref": "GoogleCloudApihubV1Plugin"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2625,6 +2744,7 @@
 "$ref": "GoogleLongrunningOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2653,6 +2773,7 @@
 "$ref": "GoogleCloudApihubV1Plugin"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2681,6 +2802,7 @@
 "$ref": "GoogleCloudApihubV1Plugin"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2706,6 +2828,8 @@
 "$ref": "GoogleCloudApihubV1Plugin"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2731,6 +2855,8 @@
 "$ref": "GoogleCloudApihubV1StyleGuide"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2772,6 +2898,8 @@
 "$ref": "GoogleCloudApihubV1ListPluginsResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2806,6 +2934,7 @@
 "$ref": "GoogleCloudApihubV1StyleGuide"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -2843,6 +2972,7 @@
 "$ref": "GoogleLongrunningOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2868,6 +2998,7 @@
 "$ref": "GoogleLongrunningOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2896,6 +3027,7 @@
 "$ref": "GoogleLongrunningOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2924,6 +3056,7 @@
 "$ref": "GoogleLongrunningOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2952,6 +3085,7 @@
 "$ref": "GoogleLongrunningOperation"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -2977,6 +3111,8 @@
 "$ref": "GoogleCloudApihubV1PluginInstance"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -3018,6 +3154,8 @@
 "$ref": "GoogleCloudApihubV1ListPluginInstancesResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -3046,6 +3184,7 @@
 "$ref": "GoogleCloudApihubV1ManagePluginInstanceSourceDataResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -3080,6 +3219,7 @@
 "$ref": "GoogleCloudApihubV1PluginInstance"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -3109,6 +3249,8 @@
 "$ref": "GoogleCloudApihubV1StyleGuideContents"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -3148,6 +3290,7 @@
 "$ref": "GoogleCloudApihubV1RuntimeProjectAttachment"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -3173,6 +3316,7 @@
 "$ref": "Empty"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -3198,6 +3342,8 @@
 "$ref": "GoogleCloudApihubV1RuntimeProjectAttachment"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
@@ -3244,6 +3390,8 @@
 "$ref": "GoogleCloudApihubV1ListRuntimeProjectAttachmentsResponse"
 },
 "scopes": [
+"https://www.googleapis.com/auth/apihub.readonly",
+"https://www.googleapis.com/auth/apihub.readwrite",
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 }
@@ -3254,7 +3402,7 @@
 }
 }
 },
-"revision": "20260425",
+"revision": "20260622",
 "rootUrl": "https://apihub.googleapis.com/",
 "schemas": {
 "Empty": {
diff --git a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
index 968732e..68c4eca 100644
--- a/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
+++ b/googleapiclient/discovery_cache/documents/assuredworkloads.v1.json
@@ -145,10 +145,108 @@
 }
 }
 },
+"folders": {
+"resources": {
+"locations": {
+"resources": {
+"dbFindingSummaries": {
+"methods": {
+"list": {
+"description": "Lists the finding summary by category for a given scope.",
+"flatPath": "v1/folders/{foldersId}/locations/{locationsId}/dbFindingSummaries",
+"httpMethod": "GET",
+"id": "assuredworkloads.folders.locations.dbFindingSummaries.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"filter": {
+"description": "Optional. The filtering results.",
+"location": "query",
+"type": "string"
+},
+"pageSize": {
+"description": "Optional. The requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. A token that identifies the page of results that the server should return.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The parent scope for the framework overview page. Formats: - projects/{project}/locations/{location} - folders/{folder}/locations/{location} - organizations/{organization}/locations/{location}",
+"location": "path",
+"pattern": "^folders/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/dbFindingSummaries",
+"response": {
+"$ref": "GoogleCloudAssuredworkloadsV1ListDbFindingSummariesResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+}
+}
+}
+}
+}
+}
+},
 "organizations": {
 "resources": {
 "locations": {
 "resources": {
+"dbFindingSummaries": {
+"methods": {
+"list": {
+"description": "Lists the finding summary by category for a given scope.",
+"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/dbFindingSummaries",
+"httpMethod": "GET",
+"id": "assuredworkloads.organizations.locations.dbFindingSummaries.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"filter": {
+"description": "Optional. The filtering results.",
+"location": "query",
+"type": "string"
+},
+"pageSize": {
+"description": "Optional. The requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. A token that identifies the page of results that the server should return.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The parent scope for the framework overview page. Formats: - projects/{project}/locations/{location} - folders/{folder}/locations/{location} - organizations/{organization}/locations/{location}",
+"location": "path",
+"pattern": "^organizations/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/dbFindingSummaries",
+"response": {
+"$ref": "GoogleCloudAssuredworkloadsV1ListDbFindingSummariesResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+}
+}
+},
 "operations": {
 "methods": {
 "get": {
@@ -760,9 +858,62 @@
 }
 }
 }
+},
+"projects": {
+"resources": {
+"locations": {
+"resources": {
+"dbFindingSummaries": {
+"methods": {
+"list": {
+"description": "Lists the finding summary by category for a given scope.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dbFindingSummaries",
+"httpMethod": "GET",
+"id": "assuredworkloads.projects.locations.dbFindingSummaries.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"filter": {
+"description": "Optional. The filtering results.",
+"location": "query",
+"type": "string"
+},
+"pageSize": {
+"description": "Optional. The requested page size. The server might return fewer items than requested. If unspecified, the server picks an appropriate default.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. A token that identifies the page of results that the server should return.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The parent scope for the framework overview page. Formats: - projects/{project}/locations/{location} - folders/{folder}/locations/{location} - organizations/{organization}/locations/{location}",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
 }
 },
-"revision": "20260615",
+"path": "v1/{+parent}/dbFindingSummaries",
+"response": {
+"$ref": "GoogleCloudAssuredworkloadsV1ListDbFindingSummariesResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+}
+}
+}
+}
+}
+}
+}
+},
+"revision": "20260623",
 "rootUrl": "https://assuredworkloads.googleapis.com/",
 "schemas": {
 "GoogleCloudAssuredworkloadsV1AcknowledgeViolationRequest": {
@@ -983,7 +1134,13 @@
 "GoogleCloudAssuredworkloadsV1BatchAcknowledgeViolationsResponse": {
 "description": "Response for batch violation acknowledgement",
 "id": "GoogleCloudAssuredworkloadsV1BatchAcknowledgeViolationsResponse",
-"properties": {},
+"properties": {
+"acknowledgedViolationsCount": {
+"description": "Count of acknowledged violations.",
+"format": "int32",
+"type": "integer"
+}
+},
 "type": "object"
 },
 "GoogleCloudAssuredworkloadsV1CreateWorkloadOperationMetadata": {
@@ -1154,6 +1311,89 @@
 },
 "type": "object"
 },
+"GoogleCloudAssuredworkloadsV1DbFindingSummary": {
+"description": "The details for a finding.",
+"id": "GoogleCloudAssuredworkloadsV1DbFindingSummary",
+"properties": {
+"findingCategory": {
+"description": "Output only. The category of the finding.",
+"readOnly": true,
+"type": "string"
+},
+"findingClass": {
+"description": "Output only. The class of the finding.",
+"enum": [
+"FINDING_CLASS_UNSPECIFIED",
+"THREAT",
+"VULNERABILITY",
+"MISCONFIGURATION",
+"OBSERVATION",
+"SCC_ERROR",
+"POSTURE_VIOLATION",
+"TOXIC_COMBINATION",
+"SENSITIVE_DATA_RISK",
+"CHOKEPOINT"
+],
+"enumDescriptions": [
+"Default value. This value is unused.",
+"The activity is unwanted or malicious.",
+"A potential weakness in software that increases risk to confidentiality, integrity, and availability.",
+"A potential weakness in a cloud resource or asset configuration that increases risk.",
+"A security observation that is for informational purposes.",
+"An error that prevents Security Command Center from functioning properly.",
+"A potential security risk that's due to a change in the security posture.",
+"A combination of security issues that represent a more severe security problem when taken together.",
+"A potential security risk to data assets that contain sensitive data.",
+"A resource or resource group where high risk attack paths converge, based on attack path simulations (APS)."
+],
+"readOnly": true,
+"type": "string"
+},
+"findingCount": {
+"description": "Output only. The count of the finding.",
+"format": "int64",
+"readOnly": true,
+"type": "string"
+},
+"name": {
+"description": "Identifier. The name of the finding summary.",
+"type": "string"
+},
+"relatedFrameworks": {
+"description": "Optional. The list of compliance frameworks that the finding belongs to.",
+"items": {
+"type": "string"
+},
+"type": "array"
+},
+"severity": {
+"description": "Output only. The severity of the finding.",
+"enum": [
+"SEVERITY_UNSPECIFIED",
+"CRITICAL",
+"HIGH",
+"MEDIUM",
+"LOW"
+],
+"enumDescriptions": [
+"Default value. This value is unused.",
+"A critical vulnerability is easily discoverable by an external actor, exploitable, and results in the direct ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. Examples include publicly accessible unprotected user data and public SSH access with weak or no passwords. A critical threat is a threat that can access, modify, or delete data or execute unauthorized code within existing resources.",
+"A high-risk vulnerability can be easily discovered and exploited in combination with other vulnerabilities to gain direct access and the ability to execute arbitrary code, exfiltrate data, and otherwise gain additional access and privileges to cloud resources and workloads. An example is a database with weak or no passwords that is only accessible internally. This database could easily be compromised by an actor that had access to the internal network. A high-risk threat is a threat that can create new computational resources in an environment but can't access data or execute code in existing resources.",
+"A medium-risk vulnerability can be used by an actor to gain access to resources or privileges that enable them to eventually (through multiple steps or a complex exploit) gain access and the ability to execute arbitrary code or exfiltrate data. An example is a service account with access to more projects than it should have. If an actor gains access to the service account, they could potentially use that access to manipulate a project the service account was not intended to. A medium-risk threat can cause operational impact but might not access data or execute unauthorized code.",
+"A low-risk vulnerability hampers a security organization's ability to detect vulnerabilities or active threats in their deployment, or prevents the root cause investigation of security issues. An example is monitoring and logs being disabled for resource configurations and access. A low-risk threat is a threat that has obtained minimal access to an environment but can't access data, execute code, or create resources."
+],
+"readOnly": true,
+"type": "string"
+},
+"updateTime": {
+"description": "Output only. The last updated time of the finding.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudAssuredworkloadsV1EnableComplianceUpdatesResponse": {
 "description": "Response for EnableComplianceUpdates endpoint.",
 "id": "GoogleCloudAssuredworkloadsV1EnableComplianceUpdatesResponse",
@@ -1166,6 +1406,25 @@
 "properties": {},
 "type": "object"
 },
+"GoogleCloudAssuredworkloadsV1ListDbFindingSummariesResponse": {
+"description": "The response message for ListDbFindingSummaries.",
+"id": "GoogleCloudAssuredworkloadsV1ListDbFindingSummariesResponse",
+"properties": {
+"dbFindingSummaries": {
+"description": "List of finding summary by category.",
+"items": {
+"$ref": "GoogleCloudAssuredworkloadsV1DbFindingSummary"
+},
+"type": "array"
+},
+"nextPageToken": {
+"description": "Output only. The token to retrieve the next page of results.",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudAssuredworkloadsV1ListViolationsResponse": {
 "description": "Response of ListViolations endpoint.",
 "id": "GoogleCloudAssuredworkloadsV1ListViolationsResponse",
diff --git a/googleapiclient/discovery_cache/documents/assuredworkloads.v1beta1.json b/googleapiclient/discovery_cache/documents/assuredworkloads.v1beta1.json
index 82dc50a..ad95923 100644
--- a/googleapiclient/discovery_cache/documents/assuredworkloads.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/assuredworkloads.v1beta1.json
@@ -798,7 +798,7 @@
 }
 }
 },
-"revision": "20260615",
+"revision": "20260623",
 "rootUrl": "https://assuredworkloads.googleapis.com/",
 "schemas": {
 "GoogleCloudAssuredworkloadsV1beta1AcknowledgeViolationRequest": {
@@ -1019,7 +1019,13 @@
 "GoogleCloudAssuredworkloadsV1beta1BatchAcknowledgeViolationsResponse": {
 "description": "Response for batch violation acknowledgement",
 "id": "GoogleCloudAssuredworkloadsV1beta1BatchAcknowledgeViolationsResponse",
-"properties": {},
+"properties": {
+"acknowledgedViolationsCount": {
+"description": "Count of acknowledged violations.",
+"format": "int32",
+"type": "integer"
+}
+},
 "type": "object"
 },
 "GoogleCloudAssuredworkloadsV1beta1CreateWorkloadOperationMetadata": {
diff --git a/googleapiclient/discovery_cache/documents/backupdr.v1.json b/googleapiclient/discovery_cache/documents/backupdr.v1.json
index 9c274af..9644147 100644
--- a/googleapiclient/discovery_cache/documents/backupdr.v1.json
+++ b/googleapiclient/discovery_cache/documents/backupdr.v1.json
@@ -2661,7 +2661,7 @@
 }
 }
 },
-"revision": "20260526",
+"revision": "20260621",
 "rootUrl": "https://backupdr.googleapis.com/",
 "schemas": {
 "AbandonBackupRequest": {
@@ -5268,7 +5268,7 @@
 "type": "string"
 },
 "token": {
-"description": "The downscoped token that was created.",
+"description": "Input only. The downscoped token that was created.",
 "type": "string"
 },
 "writeLocation": {
diff --git a/googleapiclient/discovery_cache/documents/biglake.v1.json b/googleapiclient/discovery_cache/documents/biglake.v1.json
index bf5f6f7..131960f 100644
--- a/googleapiclient/discovery_cache/documents/biglake.v1.json
+++ b/googleapiclient/discovery_cache/documents/biglake.v1.json
@@ -15,9 +15,9 @@
 "baseUrl": "https://biglake.googleapis.com/",
 "batchPath": "batch",
 "canonicalName": "BigLake Service",
-"description": "The BigLake API provides access to BigLake Metastore, a serverless, fully managed, and highly available metastore for open-source data that can be used for querying Apache Iceberg tables in BigQuery.",
+"description": "The Lakehouse API (formerly BigLake API) provides access to a serverless, fully managed, and highly available metastore that provides a single source of truth for your data lakehouse. It lets multiple engines\u2014including Apache Spark, Google Managed Spark, Apache Flink, Trino and BigQuery\u2014share tables and metadata for key open formats (Apache Iceberg, Apache Hive), and query the same copy of data. Plus, through the Lakehouse runtime catalog federation seamlessly unite your lakehouse ecosystem, letting Iceberg compatible engines on Google Cloud (BigQuery, Google Managed Spark) discover and analyze enterprise data across Snowflake, Databricks, and AWS Glue.",
 "discoveryVersion": "v1",
-"documentationLink": "https://cloud.google.com/bigquery/",
+"documentationLink": "https://cloud.google.com/products/lakehouse",
 "fullyEncodeReservedExpansion": true,
 "icons": {
 "x16": "http://www.google.com/images/icons/product/search-16.gif",
@@ -902,7 +902,7 @@
 }
 }
 },
-"revision": "20260209",
+"revision": "20260618",
 "rootUrl": "https://biglake.googleapis.com/",
 "schemas": {
 "AuditConfig": {
diff --git a/googleapiclient/discovery_cache/documents/bigquery.v2.json b/googleapiclient/discovery_cache/documents/bigquery.v2.json
index 88539a1..63c54ea 100644
--- a/googleapiclient/discovery_cache/documents/bigquery.v2.json
+++ b/googleapiclient/discovery_cache/documents/bigquery.v2.json
@@ -2390,7 +2390,7 @@
 }
 }
 },
-"revision": "20260605",
+"revision": "20260612",
 "rootUrl": "https://bigquery.googleapis.com/",
 "schemas": {
 "AggregateClassificationMetrics": {
@@ -4779,7 +4779,7 @@
 "type": "string"
 },
 "containerRequestConcurrency": {
-"description": "Optional. Maximum number of requests that a Python UDF container instance can handle concurrently. If absent or if `0`, a default concurrency is used.",
+"description": "Optional. Maximum number of requests that a Python UDF instance can handle concurrently. If absent or if `0`, the default concurrency value is used. For more information, see [Configure container limits for Python UDFs](https://cloud.google.com/bigquery/docs/user-defined-functions-python#configure-container-limits).",
 "format": "int64",
 "type": "string"
 },
diff --git a/googleapiclient/discovery_cache/documents/chat.v1.json b/googleapiclient/discovery_cache/documents/chat.v1.json
index 1170602..aa0c07d 100644
--- a/googleapiclient/discovery_cache/documents/chat.v1.json
+++ b/googleapiclient/discovery_cache/documents/chat.v1.json
@@ -89,6 +89,12 @@
 "https://www.googleapis.com/auth/chat.spaces.readonly": {
 "description": "View chat and spaces in Google Chat"
 },
+"https://www.googleapis.com/auth/chat.users.availability": {
+"description": "See and change your availability status in Google Chat."
+},
+"https://www.googleapis.com/auth/chat.users.availability.readonly": {
+"description": "See your availability status in Google Chat."
+},
 "https://www.googleapis.com/auth/chat.users.readstate": {
 "description": "View and modify last read time for Google Chat conversations"
 },
@@ -664,7 +670,7 @@
 ]
 },
 "search": {
-"description": "Returns a list of spaces in a Google Workspace organization. For an example, see [Search for and manage spaces](https://developers.google.com/workspace/chat/search-manage-admin). When `use_admin_access` is set to `false`, the results are limited to spaces where the calling user is a joined member. To search with administrator privileges, set `use_admin_access` to `true`. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.readonly` - `https://www.googleapis.com/auth/chat.spaces` - [User authentication with administrator privileges](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges) and one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.admin.spaces.readonly` - `https://www.googleapis.com/auth/chat.admin.spaces`",
+"description": "Returns a list of spaces in a Google Workspace organization. For an example, see [Search for and manage spaces](https://developers.google.com/workspace/chat/search-manage-admin). When `use_admin_access` is set to `false`, the results are limited to spaces where the calling user is a joined member. To search with administrator privileges, set `use_admin_access` to `true`. Setting `use_admin_access` to `false` is available under Developer Preview. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.readonly` - `https://www.googleapis.com/auth/chat.spaces` - [User authentication with administrator privileges](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges) and one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.admin.spaces.readonly` - `https://www.googleapis.com/auth/chat.admin.spaces`",
 "flatPath": "v1/spaces:search",
 "httpMethod": "GET",
 "id": "chat.spaces.search",
@@ -687,12 +693,12 @@
 "type": "string"
 },
 "query": {
-"description": "Required. A search query. You can search by using the following parameters when `useAdminAccess` is set to `true`: - `create_time` - `customer` - `display_name` - `external_user_allowed` - `last_active_time` - `space_history_state` - `space_type` When `useAdminAccess` is set to `false`: - `display_name` - `external_user_allowed` `create_time` and `last_active_time` accept a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and the supported comparison operators are: `=`, `<`, `>`, `<=`, `>=`. `customer` is required and is used to indicate which customer to fetch spaces from. `customers/my_customer` is the only supported value. `display_name` only accepts the `HAS` (`:`) operator. The text to match is first tokenized into tokens and each token is prefix-matched case-insensitively and independently as a substring anywhere in the space's `display_name`. For example, `Fun Eve` matches `Fun event` or `The evening was fun`, but not `notFun event` or `even`. When `useAdminAccess` is set to `false`, `display_name` is required to retrieve meaningful results. Otherwise, the default behavior is to return an empty response. `external_user_allowed` accepts either `true` or `false`. `space_history_state` only accepts values from the [`historyState`] (https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#Space.HistoryState) field of a `space` resource. `space_type` is required and the only valid value is `SPACE`. Across different fields, only `AND` operators are supported. A valid example is `space_type = \"SPACE\" AND display_name:\"Hello\"` and an invalid example is `space_type = \"SPACE\" OR display_name:\"Hello\"`. Among the same field, `space_type` doesn't support `AND` or `OR` operators. `display_name`, 'space_history_state', and 'external_user_allowed' only support `OR` operators. `last_active_time` and `create_time` support both `AND` and `OR` operators. `AND` can only be used to represent an interval, such as `last_active_time < \"2022-01-01T00:00:00+00:00\" AND last_active_time > \"2023-01-01T00:00:00+00:00\"`. The following example queries are valid when `useAdminAccess` is set to `true`: ``` customer = \"customers/my_customer\" AND space_type = \"SPACE\" customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND display_name:\"Hello World\" customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND (last_active_time < \"2020-01-01T00:00:00+00:00\" OR last_active_time > \"2022-01-01T00:00:00+00:00\") customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND (display_name:\"Hello World\" OR display_name:\"Fun event\") AND (last_active_time > \"2020-01-01T00:00:00+00:00\" AND last_active_time < \"2022-01-01T00:00:00+00:00\") customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND (create_time > \"2019-01-01T00:00:00+00:00\" AND create_time < \"2020-01-01T00:00:00+00:00\") AND (external_user_allowed = \"true\") AND (space_history_state = \"HISTORY_ON\" OR space_history_state = \"HISTORY_OFF\") ``` The following example queries are valid when `useAdminAccess` is set to `false`: ``` display_name:\"Hello World\" (display_name:\"Hello\" OR display_name:\"Fun\") (external_user_allowed = \"true\") (external_user_allowed = \"true\" AND display_name:\"Hello\") ```",
+"description": "Required. A search query. You can search by using the following parameters when `useAdminAccess` is set to `true`: - `create_time` - `customer` - `display_name` - `external_user_allowed` - `last_active_time` - `space_history_state` - `space_type` When `useAdminAccess` is set to `false`: - `display_name` - `external_user_allowed` `create_time` and `last_active_time` accept a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and the supported comparison operators are: `=`, `<`, `>`, `<=`, `>=`. `customer` is required when `useAdminAccess` is set to `true`, and is used to indicate which customer to fetch spaces from. `customers/my_customer` is the only supported value. `display_name` only accepts the `HAS` (`:`) operator. The text to match is first tokenized into tokens and each token is prefix-matched case-insensitively and independently as a substring anywhere in the space's `display_name`. For example, `Fun Eve` matches `Fun event` or `The evening was fun`, but not `notFun event` or `even`. When `useAdminAccess` is set to `false`, `display_name` is required to retrieve meaningful results. Otherwise, the default behavior is to return an empty response. `external_user_allowed` accepts either `true` or `false`. `space_history_state` only accepts values from the [`historyState`] (https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#Space.HistoryState) field of a `space` resource. `space_type` is required when `useAdminAccess` is set to `true`, and the only valid value is `SPACE`. Across different fields, only `AND` operators are supported. A valid example is `space_type = \"SPACE\" AND display_name:\"Hello\"` and an invalid example is `space_type = \"SPACE\" OR display_name:\"Hello\"`. Among the same field, `space_type` doesn't support `AND` or `OR` operators. `display_name`, 'space_history_state', and 'external_user_allowed' only support `OR` operators. `last_active_time` and `create_time` support both `AND` and `OR` operators. `AND` can only be used to represent an interval, such as `last_active_time < \"2022-01-01T00:00:00+00:00\" AND last_active_time > \"2023-01-01T00:00:00+00:00\"`. The following example queries are valid when `useAdminAccess` is set to `true`: ``` customer = \"customers/my_customer\" AND space_type = \"SPACE\" customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND display_name:\"Hello World\" customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND (last_active_time < \"2020-01-01T00:00:00+00:00\" OR last_active_time > \"2022-01-01T00:00:00+00:00\") customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND (display_name:\"Hello World\" OR display_name:\"Fun event\") AND (last_active_time > \"2020-01-01T00:00:00+00:00\" AND last_active_time < \"2022-01-01T00:00:00+00:00\") customer = \"customers/my_customer\" AND space_type = \"SPACE\" AND (create_time > \"2019-01-01T00:00:00+00:00\" AND create_time < \"2020-01-01T00:00:00+00:00\") AND (external_user_allowed = \"true\") AND (space_history_state = \"HISTORY_ON\" OR space_history_state = \"HISTORY_OFF\") ``` The following example queries are valid when `useAdminAccess` is set to `false`: ``` display_name:\"Hello World\" (display_name:\"Hello\" OR display_name:\"Fun\") (external_user_allowed = \"true\") // Returns an empty response. (external_user_allowed = \"true\" AND display_name:\"Hello\") ```",
 "location": "query",
 "type": "string"
 },
 "useAdminAccess": {
-"description": "When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires either the `chat.admin.spaces.readonly` or `chat.admin.spaces` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes).",
+"description": "When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires either the `chat.admin.spaces.readonly` or `chat.admin.spaces` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Setting `use_admin_access` to `false` is available under Developer Preview. [Developer Preview](https://developers.google.com/workspace/preview).",
 "location": "query",
 "type": "boolean"
 }
@@ -1455,6 +1461,159 @@
 },
 "users": {
 "resources": {
+"availability": {
+"methods": {
+"getAvailability": {
+"description": "Returns availability information for a human user in Google Chat. For example, this can be used to check if a user is online or away, or to retrieve their custom status message. This method only retrieves the authenticated user's availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability.readonly` - `https://www.googleapis.com/auth/chat.users.availability`",
+"flatPath": "v1/users/{usersId}/availability",
+"httpMethod": "GET",
+"id": "chat.users.availability.getAvailability",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the availability to retrieve. Format: users/{user}/availability `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user's email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`.",
+"location": "path",
+"pattern": "^users/[^/]+/availability$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "Availability"
+},
+"scopes": [
+"https://www.googleapis.com/auth/chat.users.availability",
+"https://www.googleapis.com/auth/chat.users.availability.readonly",
+"https://www.googleapis.com/auth/chat.users.readstate"
+]
+},
+"markAsActive": {
+"description": "Marks user as `ACTIVE` in Google Chat. Sets the user's availability state to `ACTIVE`. The `ACTIVE` state lasts until the specified expiration, at which point the user's state becomes `AWAY`. Note that if the user is actively using Chat, the `ACTIVE` state duration may extend beyond the provided expiration. This method only updates the authenticated user's availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`",
+"flatPath": "v1/users/{usersId}/availability:markAsActive",
+"httpMethod": "POST",
+"id": "chat.users.availability.markAsActive",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the availability to mark as active. Format: users/{user}/availability `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user's email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`.",
+"location": "path",
+"pattern": "^users/[^/]+/availability$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}:markAsActive",
+"request": {
+"$ref": "MarkAsActiveRequest"
+},
+"response": {
+"$ref": "Availability"
+},
+"scopes": [
+"https://www.googleapis.com/auth/chat.users.availability",
+"https://www.googleapis.com/auth/chat.users.readstate"
+]
+},
+"markAsAway": {
+"description": "Marks user as `AWAY` in Google Chat. Sets the user's state to away and is not affected by the user's activity. This method only updates the authenticated user's availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`",
+"flatPath": "v1/users/{usersId}/availability:markAsAway",
+"httpMethod": "POST",
+"id": "chat.users.availability.markAsAway",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the availability to mark as away. Format: users/{user}/availability `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user's email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`.",
+"location": "path",
+"pattern": "^users/[^/]+/availability$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}:markAsAway",
+"request": {
+"$ref": "MarkAsAwayRequest"
+},
+"response": {
+"$ref": "Availability"
+},
+"scopes": [
+"https://www.googleapis.com/auth/chat.users.availability",
+"https://www.googleapis.com/auth/chat.users.readstate"
+]
+},
+"markAsDoNotDisturb": {
+"description": "Marks user as`DO_NOT_DISTURB` in Google Chat. Sets a user's availability state to `DO_NOT_DISTURB` until a specified expiration time. When in `DO_NOT_DISTURB`, users typically won't receive notifications. This method only updates the authenticated user's availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`",
+"flatPath": "v1/users/{usersId}/availability:markAsDoNotDisturb",
+"httpMethod": "POST",
+"id": "chat.users.availability.markAsDoNotDisturb",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the availability to mark as Do Not Disturb. Format: users/{user}/availability `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user's email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`.",
+"location": "path",
+"pattern": "^users/[^/]+/availability$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}:markAsDoNotDisturb",
+"request": {
+"$ref": "MarkAsDoNotDisturbRequest"
+},
+"response": {
+"$ref": "Availability"
+},
+"scopes": [
+"https://www.googleapis.com/auth/chat.users.availability",
+"https://www.googleapis.com/auth/chat.users.readstate"
+]
+},
+"updateAvailability": {
+"description": "Updates availability information for a human user. Only the `custom_status` field can be updated through this method. This method only updates the authenticated user's availability. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`",
+"flatPath": "v1/users/{usersId}/availability",
+"httpMethod": "PATCH",
+"id": "chat.users.availability.updateAvailability",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Identifier. Resource name of the user's availability. Format: `users/{user}/availability` `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user's email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`.",
+"location": "path",
+"pattern": "^users/[^/]+/availability$",
+"required": true,
+"type": "string"
+},
+"updateMask": {
+"description": "Required. The list of fields to update. The only field that can be updated is `custom_status`.",
+"format": "google-fieldmask",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"request": {
+"$ref": "Availability"
+},
+"response": {
+"$ref": "Availability"
+},
+"scopes": [
+"https://www.googleapis.com/auth/chat.users.availability",
+"https://www.googleapis.com/auth/chat.users.readstate"
+]
+}
+}
+},
 "sections": {
 "methods": {
 "create": {
@@ -1849,7 +2008,7 @@
 }
 }
 },
-"revision": "20260607",
+"revision": "20260623",
 "rootUrl": "https://chat.googleapis.com/",
 "schemas": {
 "AccessSettings": {
@@ -2157,6 +2316,45 @@
 },
 "type": "object"
 },
+"Availability": {
+"description": "Represents a user's current availability information in Google Chat, including their state (for example, Active, Away, Do Not Disturb) and any custom status.",
+"id": "Availability",
+"properties": {
+"customStatus": {
+"$ref": "CustomStatus",
+"description": "Optional. The user's custom status."
+},
+"doNotDisturbMetadata": {
+"$ref": "DoNotDisturbMetadata",
+"description": "Output only. Metadata if the user state is set to DO_NOT_DISTURB.",
+"readOnly": true
+},
+"name": {
+"description": "Identifier. Resource name of the user's availability. Format: `users/{user}/availability` `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user's email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`.",
+"type": "string"
+},
+"state": {
+"description": "Output only. The user's current availability state.",
+"enum": [
+"STATE_UNSPECIFIED",
+"ACTIVE",
+"IDLE",
+"AWAY",
+"DO_NOT_DISTURB"
+],
+"enumDescriptions": [
+"Default value. The state is unspecified.",
+"The user is currently active, based on recent activity.",
+"The user is currently idle. This state indicates a period of inactivity after being ACTIVE, before potentially transitioning to AWAY.",
+"The user is currently away. This can be either automatically set after a period of inactivity in ACTIVE or IDLE state, or it can be manually set by the user. When manually set via `MarkAsAway`, this state persists regardless of user activity.",
+"The user is in Do Not Disturb state, which is manually set."
+],
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
 "Button": {
 "description": "A button. Can be a text button or an image button.",
 "id": "Button",
@@ -2506,6 +2704,31 @@
 },
 "type": "object"
 },
+"CustomStatus": {
+"description": "Represents a user's custom status in Google Chat. This includes a short text message with an optional emoji that a user sets to give more context about their availability.",
+"id": "CustomStatus",
+"properties": {
+"emoji": {
+"$ref": "Emoji",
+"description": "Required. The emoji of the custom status. Only Unicode emojis are supported; custom emojis are not supported."
+},
+"expireTime": {
+"description": "The timestamp when the custom status expires.",
+"format": "google-datetime",
+"type": "string"
+},
+"text": {
+"description": "Required. The text of the custom status. This will be a string with maximum length of 64.",
+"type": "string"
+},
+"ttl": {
+"description": "Input only. The time-to-live duration after which the custom status expires.",
+"format": "google-duration",
+"type": "string"
+}
+},
+"type": "object"
+},
 "DateInput": {
 "description": "Date input values.",
 "id": "DateInput",
@@ -2689,6 +2912,19 @@
 },
 "type": "object"
 },
+"DoNotDisturbMetadata": {
+"description": "Metadata associated with the `DO_NOT_DISTURB` availability state, specifying when the state is set to expire.",
+"id": "DoNotDisturbMetadata",
+"properties": {
+"expirationTime": {
+"description": "Output only. Timestamp until which the user should be marked as DO_NOT_DISTURB. This can be maximum of 1 year in the future.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
 "DriveDataRef": {
 "description": "A reference to the data of a drive attachment.",
 "id": "DriveDataRef",
@@ -4826,6 +5062,46 @@
 },
 "type": "object"
 },
+"MarkAsActiveRequest": {
+"description": "Request message for the `MarkAsActive` method.",
+"id": "MarkAsActiveRequest",
+"properties": {
+"expireTime": {
+"description": "The absolute timestamp when the ACTIVE state expires.",
+"format": "google-datetime",
+"type": "string"
+},
+"ttl": {
+"description": "The duration from the current time until the ACTIVE state expires. Using a short TTL can effectively reset the user's state to be based on activity after this brief duration.",
+"format": "google-duration",
+"type": "string"
+}
+},
+"type": "object"
+},
+"MarkAsAwayRequest": {
+"description": "Request message for the `MarkAsAway` method.",
+"id": "MarkAsAwayRequest",
+"properties": {},
+"type": "object"
+},
+"MarkAsDoNotDisturbRequest": {
+"description": "Request message for the `MarkAsDoNotDisturb` method.",
+"id": "MarkAsDoNotDisturbRequest",
+"properties": {
+"expireTime": {
+"description": "The absolute timestamp when the DND state expires.",
+"format": "google-datetime",
+"type": "string"
+},
+"ttl": {
+"description": "The duration from the current time until the DND state expires.",
+"format": "google-duration",
+"type": "string"
+}
+},
+"type": "object"
+},
 "MatchedUrl": {
 "description": "A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links).",
 "id": "MatchedUrl",
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1.json
index 764a091..31b0d6c 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1.json
@@ -1095,7 +1095,7 @@
 }
 }
 },
-"revision": "20260417",
+"revision": "20260624",
 "rootUrl": "https://cloudasset.googleapis.com/",
 "schemas": {
 "AccessSelector": {
@@ -2670,6 +2670,21 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1AddRequestHeader": {
+"description": "Adds a request header to the API.",
+"id": "GoogleIdentityAccesscontextmanagerV1AddRequestHeader",
+"properties": {
+"key": {
+"description": "HTTP header key.",
+"type": "string"
+},
+"value": {
+"description": "HTTP header value.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1ApiOperation": {
 "description": "Identification for an API Operation.",
 "id": "GoogleIdentityAccesscontextmanagerV1ApiOperation",
@@ -2917,6 +2932,10 @@
 "description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.",
 "type": "string"
 },
+"pscEndpoint": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"description": "Requests from this PSC will be allowed from access perimeter data."
+},
 "resource": {
 "description": "A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can't use `*` in this field to allow all Google Cloud resources.",
 "type": "string"
@@ -3023,6 +3042,10 @@
 "description": "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.",
 "type": "string"
 },
+"pscEndpoint": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"description": "Requests from this PSC will be allowed to access perimeter data."
+},
 "resource": {
 "description": "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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.",
 "type": "string"
@@ -3073,6 +3096,17 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1Modifier": {
+"description": "Modifier to apply to the API requests.",
+"id": "GoogleIdentityAccesscontextmanagerV1Modifier",
+"properties": {
+"addRequestHeader": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1AddRequestHeader",
+"description": "Adds additional HTTP request headers."
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1OsConstraint": {
 "description": "A restriction on the OS type and version of devices making requests.",
 "id": "GoogleIdentityAccesscontextmanagerV1OsConstraint",
@@ -3110,6 +3144,39 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint": {
+"description": "Specifies the PSC an API call refers to.",
+"id": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"properties": {
+"forwardingRule": {
+"description": "The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"GoogleIdentityAccesscontextmanagerV1ServicePattern": {
+"description": "Service patterns used to allow access.",
+"id": "GoogleIdentityAccesscontextmanagerV1ServicePattern",
+"properties": {
+"modifiers": {
+"description": "Modifiers to apply to the requests that match the URL pattern.",
+"items": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1Modifier"
+},
+"type": "array"
+},
+"pattern": {
+"description": "URL pattern to allow. Only patterns of \".googleapis.com/*\", \"www.googleapis.com//*\" and \"*.appspot.com/* forms are supported, where should be alphanumerical name.",
+"type": "string"
+},
+"service": {
+"description": "Supported service to allow.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1ServicePerimeter": {
 "description": "`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 or VPC network 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.",
 "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter",
@@ -3207,6 +3274,13 @@
 "description": "Specifies how APIs are allowed to communicate within the Service Perimeter.",
 "id": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices",
 "properties": {
+"allowedServicePatterns": {
+"description": "Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.",
+"items": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePattern"
+},
+"type": "array"
+},
 "allowedServices": {
 "description": "The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter.",
 "items": {
@@ -3217,6 +3291,21 @@
 "enableRestriction": {
 "description": "Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'.",
 "type": "boolean"
+},
+"servicePatternsEnforcementScopes": {
+"description": "Defines the enforcement scopes of service patterns.",
+"items": {
+"enum": [
+"SERVICE_PATTERNS_ENFORCEMENT_SCOPE_UNSPECIFIED",
+"GOOGLE_APIS_VIA_PRIVATE_PATH"
+],
+"enumDescriptions": [
+"Default value. This can not be used.",
+"Enables VPC Accessible Services enforcement for all APIs (including unsupported APIs) for Private Google Access configured with Private VIP and Private Service Connect Endpoint for Global Google APIs that uses 'all-apis' bundle."
+],
+"type": "string"
+},
+"type": "array"
 }
 },
 "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json
index fa4d1be..1391ed0 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1beta1.json
@@ -411,7 +411,7 @@
 }
 }
 },
-"revision": "20260427",
+"revision": "20260624",
 "rootUrl": "https://cloudasset.googleapis.com/",
 "schemas": {
 "AnalyzeIamPolicyLongrunningMetadata": {
@@ -950,6 +950,21 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1AddRequestHeader": {
+"description": "Adds a request header to the API.",
+"id": "GoogleIdentityAccesscontextmanagerV1AddRequestHeader",
+"properties": {
+"key": {
+"description": "HTTP header key.",
+"type": "string"
+},
+"value": {
+"description": "HTTP header value.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1ApiOperation": {
 "description": "Identification for an API Operation.",
 "id": "GoogleIdentityAccesscontextmanagerV1ApiOperation",
@@ -1197,6 +1212,10 @@
 "description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.",
 "type": "string"
 },
+"pscEndpoint": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"description": "Requests from this PSC will be allowed from access perimeter data."
+},
 "resource": {
 "description": "A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can't use `*` in this field to allow all Google Cloud resources.",
 "type": "string"
@@ -1303,6 +1322,10 @@
 "description": "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.",
 "type": "string"
 },
+"pscEndpoint": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"description": "Requests from this PSC will be allowed to access perimeter data."
+},
 "resource": {
 "description": "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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.",
 "type": "string"
@@ -1353,6 +1376,17 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1Modifier": {
+"description": "Modifier to apply to the API requests.",
+"id": "GoogleIdentityAccesscontextmanagerV1Modifier",
+"properties": {
+"addRequestHeader": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1AddRequestHeader",
+"description": "Adds additional HTTP request headers."
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1OsConstraint": {
 "description": "A restriction on the OS type and version of devices making requests.",
 "id": "GoogleIdentityAccesscontextmanagerV1OsConstraint",
@@ -1390,6 +1424,39 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint": {
+"description": "Specifies the PSC an API call refers to.",
+"id": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"properties": {
+"forwardingRule": {
+"description": "The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"GoogleIdentityAccesscontextmanagerV1ServicePattern": {
+"description": "Service patterns used to allow access.",
+"id": "GoogleIdentityAccesscontextmanagerV1ServicePattern",
+"properties": {
+"modifiers": {
+"description": "Modifiers to apply to the requests that match the URL pattern.",
+"items": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1Modifier"
+},
+"type": "array"
+},
+"pattern": {
+"description": "URL pattern to allow. Only patterns of \".googleapis.com/*\", \"www.googleapis.com//*\" and \"*.appspot.com/* forms are supported, where should be alphanumerical name.",
+"type": "string"
+},
+"service": {
+"description": "Supported service to allow.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1ServicePerimeter": {
 "description": "`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 or VPC network 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.",
 "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter",
@@ -1487,6 +1554,13 @@
 "description": "Specifies how APIs are allowed to communicate within the Service Perimeter.",
 "id": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices",
 "properties": {
+"allowedServicePatterns": {
+"description": "Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.",
+"items": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePattern"
+},
+"type": "array"
+},
 "allowedServices": {
 "description": "The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter.",
 "items": {
@@ -1497,6 +1571,21 @@
 "enableRestriction": {
 "description": "Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'.",
 "type": "boolean"
+},
+"servicePatternsEnforcementScopes": {
+"description": "Defines the enforcement scopes of service patterns.",
+"items": {
+"enum": [
+"SERVICE_PATTERNS_ENFORCEMENT_SCOPE_UNSPECIFIED",
+"GOOGLE_APIS_VIA_PRIVATE_PATH"
+],
+"enumDescriptions": [
+"Default value. This can not be used.",
+"Enables VPC Accessible Services enforcement for all APIs (including unsupported APIs) for Private Google Access configured with Private VIP and Private Service Connect Endpoint for Global Google APIs that uses 'all-apis' bundle."
+],
+"type": "string"
+},
+"type": "array"
 }
 },
 "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json
index 5f13c7c..e3828df 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p1beta1.json
@@ -207,7 +207,7 @@
 }
 }
 },
-"revision": "20260417",
+"revision": "20260624",
 "rootUrl": "https://cloudasset.googleapis.com/",
 "schemas": {
 "AnalyzeIamPolicyLongrunningMetadata": {
@@ -652,6 +652,21 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1AddRequestHeader": {
+"description": "Adds a request header to the API.",
+"id": "GoogleIdentityAccesscontextmanagerV1AddRequestHeader",
+"properties": {
+"key": {
+"description": "HTTP header key.",
+"type": "string"
+},
+"value": {
+"description": "HTTP header value.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1ApiOperation": {
 "description": "Identification for an API Operation.",
 "id": "GoogleIdentityAccesscontextmanagerV1ApiOperation",
@@ -899,6 +914,10 @@
 "description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.",
 "type": "string"
 },
+"pscEndpoint": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"description": "Requests from this PSC will be allowed from access perimeter data."
+},
 "resource": {
 "description": "A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can't use `*` in this field to allow all Google Cloud resources.",
 "type": "string"
@@ -1005,6 +1024,10 @@
 "description": "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.",
 "type": "string"
 },
+"pscEndpoint": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"description": "Requests from this PSC will be allowed to access perimeter data."
+},
 "resource": {
 "description": "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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.",
 "type": "string"
@@ -1055,6 +1078,17 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1Modifier": {
+"description": "Modifier to apply to the API requests.",
+"id": "GoogleIdentityAccesscontextmanagerV1Modifier",
+"properties": {
+"addRequestHeader": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1AddRequestHeader",
+"description": "Adds additional HTTP request headers."
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1OsConstraint": {
 "description": "A restriction on the OS type and version of devices making requests.",
 "id": "GoogleIdentityAccesscontextmanagerV1OsConstraint",
@@ -1092,6 +1126,39 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint": {
+"description": "Specifies the PSC an API call refers to.",
+"id": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"properties": {
+"forwardingRule": {
+"description": "The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"GoogleIdentityAccesscontextmanagerV1ServicePattern": {
+"description": "Service patterns used to allow access.",
+"id": "GoogleIdentityAccesscontextmanagerV1ServicePattern",
+"properties": {
+"modifiers": {
+"description": "Modifiers to apply to the requests that match the URL pattern.",
+"items": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1Modifier"
+},
+"type": "array"
+},
+"pattern": {
+"description": "URL pattern to allow. Only patterns of \".googleapis.com/*\", \"www.googleapis.com//*\" and \"*.appspot.com/* forms are supported, where should be alphanumerical name.",
+"type": "string"
+},
+"service": {
+"description": "Supported service to allow.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1ServicePerimeter": {
 "description": "`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 or VPC network 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.",
 "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter",
@@ -1189,6 +1256,13 @@
 "description": "Specifies how APIs are allowed to communicate within the Service Perimeter.",
 "id": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices",
 "properties": {
+"allowedServicePatterns": {
+"description": "Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.",
+"items": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePattern"
+},
+"type": "array"
+},
 "allowedServices": {
 "description": "The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter.",
 "items": {
@@ -1199,6 +1273,21 @@
 "enableRestriction": {
 "description": "Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'.",
 "type": "boolean"
+},
+"servicePatternsEnforcementScopes": {
+"description": "Defines the enforcement scopes of service patterns.",
+"items": {
+"enum": [
+"SERVICE_PATTERNS_ENFORCEMENT_SCOPE_UNSPECIFIED",
+"GOOGLE_APIS_VIA_PRIVATE_PATH"
+],
+"enumDescriptions": [
+"Default value. This can not be used.",
+"Enables VPC Accessible Services enforcement for all APIs (including unsupported APIs) for Private Google Access configured with Private VIP and Private Service Connect Endpoint for Global Google APIs that uses 'all-apis' bundle."
+],
+"type": "string"
+},
+"type": "array"
 }
 },
 "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json
index 4b478bd..b595593 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p5beta1.json
@@ -177,7 +177,7 @@
 }
 }
 },
-"revision": "20260417",
+"revision": "20260624",
 "rootUrl": "https://cloudasset.googleapis.com/",
 "schemas": {
 "AnalyzeIamPolicyLongrunningMetadata": {
@@ -657,6 +657,21 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1AddRequestHeader": {
+"description": "Adds a request header to the API.",
+"id": "GoogleIdentityAccesscontextmanagerV1AddRequestHeader",
+"properties": {
+"key": {
+"description": "HTTP header key.",
+"type": "string"
+},
+"value": {
+"description": "HTTP header value.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1ApiOperation": {
 "description": "Identification for an API Operation.",
 "id": "GoogleIdentityAccesscontextmanagerV1ApiOperation",
@@ -904,6 +919,10 @@
 "description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.",
 "type": "string"
 },
+"pscEndpoint": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"description": "Requests from this PSC will be allowed from access perimeter data."
+},
 "resource": {
 "description": "A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can't use `*` in this field to allow all Google Cloud resources.",
 "type": "string"
@@ -1010,6 +1029,10 @@
 "description": "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.",
 "type": "string"
 },
+"pscEndpoint": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"description": "Requests from this PSC will be allowed to access perimeter data."
+},
 "resource": {
 "description": "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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.",
 "type": "string"
@@ -1060,6 +1083,17 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1Modifier": {
+"description": "Modifier to apply to the API requests.",
+"id": "GoogleIdentityAccesscontextmanagerV1Modifier",
+"properties": {
+"addRequestHeader": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1AddRequestHeader",
+"description": "Adds additional HTTP request headers."
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1OsConstraint": {
 "description": "A restriction on the OS type and version of devices making requests.",
 "id": "GoogleIdentityAccesscontextmanagerV1OsConstraint",
@@ -1097,6 +1131,39 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint": {
+"description": "Specifies the PSC an API call refers to.",
+"id": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"properties": {
+"forwardingRule": {
+"description": "The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"GoogleIdentityAccesscontextmanagerV1ServicePattern": {
+"description": "Service patterns used to allow access.",
+"id": "GoogleIdentityAccesscontextmanagerV1ServicePattern",
+"properties": {
+"modifiers": {
+"description": "Modifiers to apply to the requests that match the URL pattern.",
+"items": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1Modifier"
+},
+"type": "array"
+},
+"pattern": {
+"description": "URL pattern to allow. Only patterns of \".googleapis.com/*\", \"www.googleapis.com//*\" and \"*.appspot.com/* forms are supported, where should be alphanumerical name.",
+"type": "string"
+},
+"service": {
+"description": "Supported service to allow.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1ServicePerimeter": {
 "description": "`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 or VPC network 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.",
 "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter",
@@ -1194,6 +1261,13 @@
 "description": "Specifies how APIs are allowed to communicate within the Service Perimeter.",
 "id": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices",
 "properties": {
+"allowedServicePatterns": {
+"description": "Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.",
+"items": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePattern"
+},
+"type": "array"
+},
 "allowedServices": {
 "description": "The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter.",
 "items": {
@@ -1204,6 +1278,21 @@
 "enableRestriction": {
 "description": "Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'.",
 "type": "boolean"
+},
+"servicePatternsEnforcementScopes": {
+"description": "Defines the enforcement scopes of service patterns.",
+"items": {
+"enum": [
+"SERVICE_PATTERNS_ENFORCEMENT_SCOPE_UNSPECIFIED",
+"GOOGLE_APIS_VIA_PRIVATE_PATH"
+],
+"enumDescriptions": [
+"Default value. This can not be used.",
+"Enables VPC Accessible Services enforcement for all APIs (including unsupported APIs) for Private Google Access configured with Private VIP and Private Service Connect Endpoint for Global Google APIs that uses 'all-apis' bundle."
+],
+"type": "string"
+},
+"type": "array"
 }
 },
 "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json b/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json
index 331482d..870ddee 100644
--- a/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json
+++ b/googleapiclient/discovery_cache/documents/cloudasset.v1p7beta1.json
@@ -167,7 +167,7 @@
 }
 }
 },
-"revision": "20260417",
+"revision": "20260624",
 "rootUrl": "https://cloudasset.googleapis.com/",
 "schemas": {
 "AnalyzeIamPolicyLongrunningMetadata": {
@@ -726,6 +726,21 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1AddRequestHeader": {
+"description": "Adds a request header to the API.",
+"id": "GoogleIdentityAccesscontextmanagerV1AddRequestHeader",
+"properties": {
+"key": {
+"description": "HTTP header key.",
+"type": "string"
+},
+"value": {
+"description": "HTTP header value.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1ApiOperation": {
 "description": "Identification for an API Operation.",
 "id": "GoogleIdentityAccesscontextmanagerV1ApiOperation",
@@ -973,6 +988,10 @@
 "description": "An AccessLevel resource name that allows protected resources inside the ServicePerimeters to access outside the ServicePerimeter boundaries. AccessLevels listed must be in the same policy as this ServicePerimeter. Referencing a nonexistent AccessLevel will cause an error. If an AccessLevel name is not specified, only resources within the perimeter can be accessed through 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 EgressSources will be allowed.",
 "type": "string"
 },
+"pscEndpoint": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"description": "Requests from this PSC will be allowed from access perimeter data."
+},
 "resource": {
 "description": "A Google Cloud resource from the service perimeter that you want to allow to access data outside the perimeter. This field supports only projects. The project format is `projects/{project_number}`. You can't use `*` in this field to allow all Google Cloud resources.",
 "type": "string"
@@ -1079,6 +1098,10 @@
 "description": "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.",
 "type": "string"
 },
+"pscEndpoint": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"description": "Requests from this PSC will be allowed to access perimeter data."
+},
 "resource": {
 "description": "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 and VPCs are allowed. Project format: `projects/{project_number}` VPC network format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/networks/{NAME}`. 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.",
 "type": "string"
@@ -1129,6 +1152,17 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1Modifier": {
+"description": "Modifier to apply to the API requests.",
+"id": "GoogleIdentityAccesscontextmanagerV1Modifier",
+"properties": {
+"addRequestHeader": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1AddRequestHeader",
+"description": "Adds additional HTTP request headers."
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1OsConstraint": {
 "description": "A restriction on the OS type and version of devices making requests.",
 "id": "GoogleIdentityAccesscontextmanagerV1OsConstraint",
@@ -1166,6 +1200,39 @@
 },
 "type": "object"
 },
+"GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint": {
+"description": "Specifies the PSC an API call refers to.",
+"id": "GoogleIdentityAccesscontextmanagerV1PrivateServiceConnectEndpoint",
+"properties": {
+"forwardingRule": {
+"description": "The global forwarding rule identifier. Forwarding rule format: `//compute.googleapis.com/projects/{PROJECT_ID}/global/forwardingRules/{FORWARDING_RULE_ID}`.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"GoogleIdentityAccesscontextmanagerV1ServicePattern": {
+"description": "Service patterns used to allow access.",
+"id": "GoogleIdentityAccesscontextmanagerV1ServicePattern",
+"properties": {
+"modifiers": {
+"description": "Modifiers to apply to the requests that match the URL pattern.",
+"items": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1Modifier"
+},
+"type": "array"
+},
+"pattern": {
+"description": "URL pattern to allow. Only patterns of \".googleapis.com/*\", \"www.googleapis.com//*\" and \"*.appspot.com/* forms are supported, where should be alphanumerical name.",
+"type": "string"
+},
+"service": {
+"description": "Supported service to allow.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleIdentityAccesscontextmanagerV1ServicePerimeter": {
 "description": "`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 or VPC network 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.",
 "id": "GoogleIdentityAccesscontextmanagerV1ServicePerimeter",
@@ -1263,6 +1330,13 @@
 "description": "Specifies how APIs are allowed to communicate within the Service Perimeter.",
 "id": "GoogleIdentityAccesscontextmanagerV1VpcAccessibleServices",
 "properties": {
+"allowedServicePatterns": {
+"description": "Specifies which Google services are allowed to be accessed from VPC networks in the service perimeter.",
+"items": {
+"$ref": "GoogleIdentityAccesscontextmanagerV1ServicePattern"
+},
+"type": "array"
+},
 "allowedServices": {
 "description": "The list of APIs usable within the Service Perimeter. Must be empty unless 'enable_restriction' is True. You can specify a list of individual services, as well as include the 'RESTRICTED-SERVICES' value, which automatically includes all of the services protected by the perimeter.",
 "items": {
@@ -1273,6 +1347,21 @@
 "enableRestriction": {
 "description": "Whether to restrict API calls within the Service Perimeter to the list of APIs specified in 'allowed_services'.",
 "type": "boolean"
+},
+"servicePatternsEnforcementScopes": {
+"description": "Defines the enforcement scopes of service patterns.",
+"items": {
+"enum": [
+"SERVICE_PATTERNS_ENFORCEMENT_SCOPE_UNSPECIFIED",
+"GOOGLE_APIS_VIA_PRIVATE_PATH"
+],
+"enumDescriptions": [
+"Default value. This can not be used.",
+"Enables VPC Accessible Services enforcement for all APIs (including unsupported APIs) for Private Google Access configured with Private VIP and Private Service Connect Endpoint for Global Google APIs that uses 'all-apis' bundle."
+],
+"type": "string"
+},
+"type": "array"
 }
 },
 "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/cloudsupport.v2.json b/googleapiclient/discovery_cache/documents/cloudsupport.v2.json
index 5c1879b..470ae8f 100644
--- a/googleapiclient/discovery_cache/documents/cloudsupport.v2.json
+++ b/googleapiclient/discovery_cache/documents/cloudsupport.v2.json
@@ -600,9 +600,199 @@
 "supportsMediaUpload": true
 }
 }
+},
+"supportEventSubscriptions": {
+"methods": {
+"create": {
+"description": "Creates a support event subscription for an organization.",
+"flatPath": "v2/{v2Id}/{v2Id1}/supportEventSubscriptions",
+"httpMethod": "POST",
+"id": "cloudsupport.supportEventSubscriptions.create",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"parent": {
+"description": "Required. The parent resource name where the support event subscription will be created. Format: organizations/{organization_id}",
+"location": "path",
+"pattern": "^[^/]+/[^/]+$",
+"required": true,
+"type": "string"
 }
 },
-"revision": "20260519",
+"path": "v2/{+parent}/supportEventSubscriptions",
+"request": {
+"$ref": "SupportEventSubscription"
+},
+"response": {
+"$ref": "SupportEventSubscription"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"delete": {
+"description": "Soft deletes a support event subscription.",
+"flatPath": "v2/{v2Id}/{v2Id1}/supportEventSubscriptions/{supportEventSubscriptionsId}",
+"httpMethod": "DELETE",
+"id": "cloudsupport.supportEventSubscriptions.delete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the support event subscription to delete. Format: organizations/{organization_id}/supportEventSubscriptions/{subscription_id}",
+"location": "path",
+"pattern": "^[^/]+/[^/]+/supportEventSubscriptions/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v2/{+name}",
+"response": {
+"$ref": "SupportEventSubscription"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"get": {
+"description": "Gets a support event subscription.",
+"flatPath": "v2/{v2Id}/{v2Id1}/supportEventSubscriptions/{supportEventSubscriptionsId}",
+"httpMethod": "GET",
+"id": "cloudsupport.supportEventSubscriptions.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the support event subscription to retrieve. Format: organizations/{organization_id}/supportEventSubscriptions/{subscription_id}",
+"location": "path",
+"pattern": "^[^/]+/[^/]+/supportEventSubscriptions/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v2/{+name}",
+"response": {
+"$ref": "SupportEventSubscription"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"list": {
+"description": "Lists support event subscriptions.",
+"flatPath": "v2/{v2Id}/{v2Id1}/supportEventSubscriptions",
+"httpMethod": "GET",
+"id": "cloudsupport.supportEventSubscriptions.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"filter": {
+"description": "Optional. Filter expression based on AIP-160. Supported fields: - pub_sub_topic - state Examples: - `pub_sub_topic=\"projects/example-project/topics/example-topic\"` - `state=WORKING` - `pub_sub_topic=\"projects/example-project/topics/example-topic\" AND state=WORKING`",
+"location": "query",
+"type": "string"
+},
+"pageSize": {
+"description": "Optional. The maximum number of support event subscriptions to return.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. A token identifying the page of results to return. If unspecified, the first page is retrieved. When paginating, all other parameters provided to `ListSupportEventSubscriptions` must match the call that provided the page token.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The fully qualified name of the Cloud resource to list support event subscriptions under. Format: organizations/{organization_id}",
+"location": "path",
+"pattern": "^[^/]+/[^/]+$",
+"required": true,
+"type": "string"
+},
+"showDeleted": {
+"description": "Optional. Whether to show deleted subscriptions. By default, deleted subscriptions are not returned.",
+"location": "query",
+"type": "boolean"
+}
+},
+"path": "v2/{+parent}/supportEventSubscriptions",
+"response": {
+"$ref": "ListSupportEventSubscriptionsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"patch": {
+"description": "Updates a support event subscription.",
+"flatPath": "v2/{v2Id}/{v2Id1}/supportEventSubscriptions/{supportEventSubscriptionsId}",
+"httpMethod": "PATCH",
+"id": "cloudsupport.supportEventSubscriptions.patch",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Identifier. The resource name of the support event subscription.",
+"location": "path",
+"pattern": "^[^/]+/[^/]+/supportEventSubscriptions/[^/]+$",
+"required": true,
+"type": "string"
+},
+"updateMask": {
+"description": "Optional. The list of fields to update. The only supported value is pub_sub_topic.",
+"format": "google-fieldmask",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v2/{+name}",
+"request": {
+"$ref": "SupportEventSubscription"
+},
+"response": {
+"$ref": "SupportEventSubscription"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"undelete": {
+"description": "Undeletes a support event subscription.",
+"flatPath": "v2/{v2Id}/{v2Id1}/supportEventSubscriptions/{supportEventSubscriptionsId}:undelete",
+"httpMethod": "POST",
+"id": "cloudsupport.supportEventSubscriptions.undelete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the support event subscription to undelete. Format: organizations/{organization_id}/supportEventSubscriptions/{subscription_id}",
+"location": "path",
+"pattern": "^[^/]+/[^/]+/supportEventSubscriptions/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v2/{+name}:undelete",
+"request": {
+"$ref": "UndeleteSupportEventSubscriptionRequest"
+},
+"response": {
+"$ref": "SupportEventSubscription"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+}
+}
+}
+},
+"revision": "20260623",
 "rootUrl": "https://cloudsupport.googleapis.com/",
 "schemas": {
 "Actor": {
@@ -1187,6 +1377,24 @@
 },
 "type": "object"
 },
+"ListSupportEventSubscriptionsResponse": {
+"description": "Response message for ListSupportEventSubscriptions.",
+"id": "ListSupportEventSubscriptionsResponse",
+"properties": {
+"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"
+},
+"supportEventSubscriptions": {
+"description": "The support event subscriptions.",
+"items": {
+"$ref": "SupportEventSubscription"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
 "Media": {
 "description": "# gdata.* are outside protos with mising documentation",
 "id": "Media",
@@ -1422,6 +1630,85 @@
 }
 },
 "type": "object"
+},
+"SupportEventSubscription": {
+"description": "A support event subscription.",
+"id": "SupportEventSubscription",
+"properties": {
+"createTime": {
+"description": "Output only. The time at which the subscription was created.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"deleteTime": {
+"description": "Output only. The time at which the subscription was deleted.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"failureReason": {
+"description": "Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.",
+"enum": [
+"FAILURE_REASON_UNSPECIFIED",
+"PERMISSION_DENIED",
+"TOPIC_NOT_FOUND",
+"OTHER"
+],
+"enumDescriptions": [
+"Unspecified failure reason.",
+"The service account (i.e. cloud-support-apievents@system.gserviceaccount.com) lacks the permission to publish to the customer's Pub/Sub topic.",
+"The specified Pub/Sub topic does not exist.",
+"Message failed to publish due to a system-side error."
+],
+"readOnly": true,
+"type": "string"
+},
+"name": {
+"description": "Identifier. The resource name of the support event subscription.",
+"type": "string"
+},
+"pubSubTopic": {
+"description": "Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}",
+"type": "string"
+},
+"purgeTime": {
+"description": "Output only. The time at which the subscription will be purged.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"state": {
+"description": "Output only. The state of the subscription.",
+"enum": [
+"STATE_UNSPECIFIED",
+"WORKING",
+"FAILING",
+"DELETED"
+],
+"enumDescriptions": [
+"Unspecified state.",
+"Subscription is active and working.",
+"Subscription is failing. Notifications cannot be published for some reason.",
+"Subscription has been deleted and is pending purge. Notifications are not sent for deleted subscriptions. Deleted subscriptions are purged after their `purge_time` has passed."
+],
+"readOnly": true,
+"type": "string"
+},
+"updateTime": {
+"description": "Output only. The time at which the subscription was last updated.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"UndeleteSupportEventSubscriptionRequest": {
+"description": "Request message for UndeleteSupportEventSubscription.",
+"id": "UndeleteSupportEventSubscriptionRequest",
+"properties": {},
+"type": "object"
 }
 },
 "servicePath": "",
diff --git a/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json b/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json
index c4881b6..473a269 100644
--- a/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json
+++ b/googleapiclient/discovery_cache/documents/cloudsupport.v2beta.json
@@ -667,9 +667,199 @@
 "supportsMediaUpload": true
 }
 }
+},
+"supportEventSubscriptions": {
+"methods": {
+"create": {
+"description": "Creates a support event subscription for an organization.",
+"flatPath": "v2beta/{v2betaId}/{v2betaId1}/supportEventSubscriptions",
+"httpMethod": "POST",
+"id": "cloudsupport.supportEventSubscriptions.create",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"parent": {
+"description": "Required. The parent resource name where the support event subscription will be created. Format: organizations/{organization_id}",
+"location": "path",
+"pattern": "^[^/]+/[^/]+$",
+"required": true,
+"type": "string"
 }
 },
-"revision": "20260519",
+"path": "v2beta/{+parent}/supportEventSubscriptions",
+"request": {
+"$ref": "SupportEventSubscription"
+},
+"response": {
+"$ref": "SupportEventSubscription"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"delete": {
+"description": "Soft deletes a support event subscription.",
+"flatPath": "v2beta/{v2betaId}/{v2betaId1}/supportEventSubscriptions/{supportEventSubscriptionsId}",
+"httpMethod": "DELETE",
+"id": "cloudsupport.supportEventSubscriptions.delete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the support event subscription to delete. Format: organizations/{organization_id}/supportEventSubscriptions/{subscription_id}",
+"location": "path",
+"pattern": "^[^/]+/[^/]+/supportEventSubscriptions/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v2beta/{+name}",
+"response": {
+"$ref": "SupportEventSubscription"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"get": {
+"description": "Gets a support event subscription.",
+"flatPath": "v2beta/{v2betaId}/{v2betaId1}/supportEventSubscriptions/{supportEventSubscriptionsId}",
+"httpMethod": "GET",
+"id": "cloudsupport.supportEventSubscriptions.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the support event subscription to retrieve. Format: organizations/{organization_id}/supportEventSubscriptions/{subscription_id}",
+"location": "path",
+"pattern": "^[^/]+/[^/]+/supportEventSubscriptions/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v2beta/{+name}",
+"response": {
+"$ref": "SupportEventSubscription"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"list": {
+"description": "Lists support event subscriptions.",
+"flatPath": "v2beta/{v2betaId}/{v2betaId1}/supportEventSubscriptions",
+"httpMethod": "GET",
+"id": "cloudsupport.supportEventSubscriptions.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"filter": {
+"description": "Optional. Filter expression based on AIP-160. Supported fields: - pub_sub_topic - state Examples: - `pub_sub_topic=\"projects/example-project/topics/example-topic\"` - `state=WORKING` - `pub_sub_topic=\"projects/example-project/topics/example-topic\" AND state=WORKING`",
+"location": "query",
+"type": "string"
+},
+"pageSize": {
+"description": "Optional. The maximum number of support event subscriptions to return.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. A token identifying the page of results to return. If unspecified, the first page is retrieved. When paginating, all other parameters provided to `ListSupportEventSubscriptions` must match the call that provided the page token.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The fully qualified name of the Cloud resource to list support event subscriptions under. Format: organizations/{organization_id}",
+"location": "path",
+"pattern": "^[^/]+/[^/]+$",
+"required": true,
+"type": "string"
+},
+"showDeleted": {
+"description": "Optional. Whether to show deleted subscriptions. By default, deleted subscriptions are not returned.",
+"location": "query",
+"type": "boolean"
+}
+},
+"path": "v2beta/{+parent}/supportEventSubscriptions",
+"response": {
+"$ref": "ListSupportEventSubscriptionsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"patch": {
+"description": "Updates a support event subscription.",
+"flatPath": "v2beta/{v2betaId}/{v2betaId1}/supportEventSubscriptions/{supportEventSubscriptionsId}",
+"httpMethod": "PATCH",
+"id": "cloudsupport.supportEventSubscriptions.patch",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Identifier. The resource name of the support event subscription.",
+"location": "path",
+"pattern": "^[^/]+/[^/]+/supportEventSubscriptions/[^/]+$",
+"required": true,
+"type": "string"
+},
+"updateMask": {
+"description": "Optional. The list of fields to update. The only supported value is pub_sub_topic.",
+"format": "google-fieldmask",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v2beta/{+name}",
+"request": {
+"$ref": "SupportEventSubscription"
+},
+"response": {
+"$ref": "SupportEventSubscription"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"undelete": {
+"description": "Undeletes a support event subscription.",
+"flatPath": "v2beta/{v2betaId}/{v2betaId1}/supportEventSubscriptions/{supportEventSubscriptionsId}:undelete",
+"httpMethod": "POST",
+"id": "cloudsupport.supportEventSubscriptions.undelete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the support event subscription to undelete. Format: organizations/{organization_id}/supportEventSubscriptions/{subscription_id}",
+"location": "path",
+"pattern": "^[^/]+/[^/]+/supportEventSubscriptions/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v2beta/{+name}:undelete",
+"request": {
+"$ref": "UndeleteSupportEventSubscriptionRequest"
+},
+"response": {
+"$ref": "SupportEventSubscription"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+}
+}
+}
+},
+"revision": "20260623",
 "rootUrl": "https://cloudsupport.googleapis.com/",
 "schemas": {
 "Actor": {
@@ -1359,6 +1549,24 @@
 },
 "type": "object"
 },
+"ListSupportEventSubscriptionsResponse": {
+"description": "Response message for ListSupportEventSubscriptions.",
+"id": "ListSupportEventSubscriptionsResponse",
+"properties": {
+"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"
+},
+"supportEventSubscriptions": {
+"description": "The support event subscriptions.",
+"items": {
+"$ref": "SupportEventSubscription"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
 "Media": {
 "description": "# gdata.* are outside protos with mising documentation",
 "id": "Media",
@@ -1634,6 +1842,79 @@
 },
 "type": "object"
 },
+"SupportEventSubscription": {
+"description": "A support event subscription.",
+"id": "SupportEventSubscription",
+"properties": {
+"createTime": {
+"description": "Output only. The time at which the subscription was created.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"deleteTime": {
+"description": "Output only. The time at which the subscription was deleted.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"failureReason": {
+"description": "Output only. Reason why subscription is failing. State of subscription must be FAILING in order for this to have a value.",
+"enum": [
+"FAILURE_REASON_UNSPECIFIED",
+"PERMISSION_DENIED",
+"TOPIC_NOT_FOUND",
+"OTHER"
+],
+"enumDescriptions": [
+"Unspecified failure reason.",
+"The service account (i.e. cloud-support-apievents@system.gserviceaccount.com) lacks the permission to publish to the customer's Pub/Sub topic.",
+"The specified Pub/Sub topic does not exist.",
+"Message failed to publish due to a system-side error."
+],
+"readOnly": true,
+"type": "string"
+},
+"name": {
+"description": "Identifier. The resource name of the support event subscription.",
+"type": "string"
+},
+"pubSubTopic": {
+"description": "Required. The name of the Pub/Sub topic to publish notifications to. Format: projects/{project}/topics/{topic}",
+"type": "string"
+},
+"purgeTime": {
+"description": "Output only. The time at which the subscription will be purged.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"state": {
+"description": "Output only. The state of the subscription.",
+"enum": [
+"STATE_UNSPECIFIED",
+"WORKING",
+"FAILING",
+"DELETED"
+],
+"enumDescriptions": [
+"Unspecified state.",
+"Subscription is active and working.",
+"Subscription is failing. Notifications cannot be published for some reason.",
+"Subscription has been deleted and is pending purge. Notifications are not sent for deleted subscriptions. Deleted subscriptions are purged after their `purge_time` has passed."
+],
+"readOnly": true,
+"type": "string"
+},
+"updateTime": {
+"description": "Output only. The time at which the subscription was last updated.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
 "TextContent": {
 "description": "Stores text attached to a support object.",
 "id": "TextContent",
@@ -1644,6 +1925,12 @@
 }
 },
 "type": "object"
+},
+"UndeleteSupportEventSubscriptionRequest": {
+"description": "Request message for UndeleteSupportEventSubscription.",
+"id": "UndeleteSupportEventSubscriptionRequest",
+"properties": {},
+"type": "object"
 }
 },
 "servicePath": "",
diff --git a/googleapiclient/discovery_cache/documents/compute.alpha.json b/googleapiclient/discovery_cache/documents/compute.alpha.json
index f6575da..efa58e3 100644
--- a/googleapiclient/discovery_cache/documents/compute.alpha.json
+++ b/googleapiclient/discovery_cache/documents/compute.alpha.json
@@ -57095,7 +57095,7 @@
 }
 }
 },
-"revision": "20260612",
+"revision": "20260625",
 "rootUrl": "https://compute.googleapis.com/",
 "schemas": {
 "AWSV4Signature": {
@@ -109379,11 +109379,6 @@
 "description": "Represents a reservation block resource.",
 "id": "ReservationBlock",
 "properties": {
-"blockHealthInfo": {
-"$ref": "ReservationBlockHealthInfo",
-"description": "Output only. [Output Only] Health information for the reservation block.",
-"readOnly": true
-},
 "count": {
 "description": "Output only. [Output Only] The number of resources that are allocated in this\nreservation block.",
 "format": "int32",
@@ -109395,6 +109390,11 @@
 "readOnly": true,
 "type": "string"
 },
+"healthInfo": {
+"$ref": "ReservationBlockHealthInfo",
+"description": "Output only. [Output Only] Health information for the reservation block.",
+"readOnly": true
+},
 "id": {
 "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
 "format": "uint64",
@@ -110245,6 +110245,11 @@
 "readOnly": true,
 "type": "string"
 },
+"healthInfo": {
+"$ref": "ReservationSubBlockHealthInfo",
+"description": "Output only. [Output Only] Health information for the reservation subBlock.",
+"readOnly": true
+},
 "id": {
 "description": "Output only. [Output Only] The unique identifier for the resource. This identifier is\ndefined by the server.",
 "format": "uint64",
@@ -110318,11 +110323,6 @@
 "readOnly": true,
 "type": "string"
 },
-"subBlockHealthInfo": {
-"$ref": "ReservationSubBlockHealthInfo",
-"description": "Output only. [Output Only] Health information for the reservation subBlock.",
-"readOnly": true
-},
 "zone": {
 "description": "Output only. [Output Only] Zone in which the reservation subBlock resides.",
 "readOnly": true,
diff --git a/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json b/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json
index 615a924..72b7e71 100644
--- a/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json
+++ b/googleapiclient/discovery_cache/documents/contactcenterinsights.v1.json
@@ -6101,7 +6101,7 @@
 }
 }
 },
-"revision": "20260612",
+"revision": "20260623",
 "rootUrl": "https://contactcenterinsights.googleapis.com/",
 "schemas": {
 "GoogleCloudCesV1mainAgentTransfer": {
@@ -7686,6 +7686,10 @@
 "description": "The action to be taken when the chart is clicked.",
 "id": "GoogleCloudContactcenterinsightsV1ChartAction",
 "properties": {
+"conversationFilter": {
+"description": "The conversation filter string.",
+"type": "string"
+},
 "redirectAction": {
 "$ref": "GoogleCloudContactcenterinsightsV1RedirectAction",
 "description": "Redirect action."
diff --git a/googleapiclient/discovery_cache/documents/container.v1.json b/googleapiclient/discovery_cache/documents/container.v1.json
index e91eab9..aed8e04 100644
--- a/googleapiclient/discovery_cache/documents/container.v1.json
+++ b/googleapiclient/discovery_cache/documents/container.v1.json
@@ -2753,7 +2753,7 @@
 }
 }
 },
-"revision": "20260609",
+"revision": "20260616",
 "rootUrl": "https://container.googleapis.com/",
 "schemas": {
 "AcceleratorConfig": {
@@ -6369,7 +6369,8 @@
 "CONTROLLER_MANAGER",
 "KCP_SSHD",
 "KCP_CONNECTION",
-"KCP_HPA"
+"KCP_HPA",
+"KCP_VPA"
 ],
 "enumDescriptions": [
 "Default value. This shouldn't be used.",
@@ -6380,7 +6381,8 @@
 "kube-controller-manager",
 "kcp-sshd",
 "kcp connection logs",
-"horizontal pod autoscaler decision logs"
+"horizontal pod autoscaler decision logs",
+"vertical pod autoscaler decision logs"
 ],
 "type": "string"
 },
@@ -7558,10 +7560,11 @@
 "description": "Enable best effort provisioning for nodes"
 },
 "conditions": {
-"description": "Which conditions caused the current node pool state.",
+"description": "Output only. Which conditions caused the current node pool state.",
 "items": {
 "$ref": "StatusCondition"
 },
+"readOnly": true,
 "type": "array"
 },
 "config": {
@@ -7569,7 +7572,8 @@
 "description": "The node configuration of the pool."
 },
 "etag": {
-"description": "This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.",
+"description": "Output only. This checksum is computed by the server based on the value of node pool fields, and may be sent on update requests to ensure the client has an up-to-date value before proceeding.",
+"readOnly": true,
 "type": "string"
 },
 "initialNodeCount": {
@@ -8554,8 +8558,15 @@
 "STABLE",
 "EXTENDED"
 ],
+"enumDeprecated": [
+true,
+false,
+false,
+false,
+false
+],
 "enumDescriptions": [
-"No channel specified.",
+"Deprecated: No channel specified. it will be removed in the future, use RAPID, REGULAR, STABLE or EXTENDED instead.",
 "RAPID channel is offered on an early access basis for customers who want to test new releases. WARNING: Versions available in the RAPID Channel may be subject to unresolved issues with no known workaround and are not subject to any SLAs.",
 "Clusters subscribed to REGULAR receive versions that are considered GA quality. REGULAR is intended for production users who want to take advantage of new features.",
 "Clusters subscribed to STABLE receive versions that are known to be stable and reliable in production.",
@@ -8579,8 +8590,15 @@
 "STABLE",
 "EXTENDED"
 ],
+"enumDeprecated": [
+true,
+false,
+false,
+false,
+false
+],
 "enumDescriptions": [
-"No channel specified.",
+"Deprecated: No channel specified. it will be removed in the future, use RAPID, REGULAR, STABLE or EXTENDED instead.",
 "RAPID channel is offered on an early access basis for customers who want to test new releases. WARNING: Versions available in the RAPID Channel may be subject to unresolved issues with no known workaround and are not subject to any SLAs.",
 "Clusters subscribed to REGULAR receive versions that are considered GA quality. REGULAR is intended for production users who want to take advantage of new features.",
 "Clusters subscribed to STABLE receive versions that are known to be stable and reliable in production.",
diff --git a/googleapiclient/discovery_cache/documents/container.v1beta1.json b/googleapiclient/discovery_cache/documents/container.v1beta1.json
index 26ab821..50a7f06 100644
--- a/googleapiclient/discovery_cache/documents/container.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/container.v1beta1.json
@@ -2837,7 +2837,7 @@
 }
 }
 },
-"revision": "20260609",
+"revision": "20260616",
 "rootUrl": "https://container.googleapis.com/",
 "schemas": {
 "AcceleratorConfig": {
@@ -6808,7 +6808,8 @@
 "CONTROLLER_MANAGER",
 "KCP_SSHD",
 "KCP_CONNECTION",
-"KCP_HPA"
+"KCP_HPA",
+"KCP_VPA"
 ],
 "enumDescriptions": [
 "Default value. This shouldn't be used.",
@@ -6819,7 +6820,8 @@
 "kube-controller-manager",
 "kcp-sshd",
 "kcp connection logs",
-"horizontal pod autoscaler decision logs"
+"horizontal pod autoscaler decision logs",
+"vertical pod autoscaler decision logs"
 ],
 "type": "string"
 },
@@ -9130,8 +9132,15 @@
 "STABLE",
 "EXTENDED"
 ],
+"enumDeprecated": [
+true,
+false,
+false,
+false,
+false
+],
 "enumDescriptions": [
-"No channel specified.",
+"Deprecated: No channel specified. it will be removed in the future, use RAPID, REGULAR, STABLE or EXTENDED instead.",
 "RAPID channel is offered on an early access basis for customers who want to test new releases. WARNING: Versions available in the RAPID Channel may be subject to unresolved issues with no known workaround and are not subject to any SLAs.",
 "Clusters subscribed to REGULAR receive versions that are considered GA quality. REGULAR is intended for production users who want to take advantage of new features.",
 "Clusters subscribed to STABLE receive versions that are known to be stable and reliable in production.",
@@ -9163,8 +9172,15 @@
 "STABLE",
 "EXTENDED"
 ],
+"enumDeprecated": [
+true,
+false,
+false,
+false,
+false
+],
 "enumDescriptions": [
-"No channel specified.",
+"Deprecated: No channel specified. it will be removed in the future, use RAPID, REGULAR, STABLE or EXTENDED instead.",
 "RAPID channel is offered on an early access basis for customers who want to test new releases. WARNING: Versions available in the RAPID Channel may be subject to unresolved issues with no known workaround and are not subject to any SLAs.",
 "Clusters subscribed to REGULAR receive versions that are considered GA quality. REGULAR is intended for production users who want to take advantage of new features.",
 "Clusters subscribed to STABLE receive versions that are known to be stable and reliable in production.",
diff --git a/googleapiclient/discovery_cache/documents/databasecenter.v1beta.json b/googleapiclient/discovery_cache/documents/databasecenter.v1beta.json
index f8b1045..b2df991 100644
--- a/googleapiclient/discovery_cache/documents/databasecenter.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/databasecenter.v1beta.json
@@ -364,7 +364,7 @@
 }
 }
 },
-"revision": "20260612",
+"revision": "20260619",
 "rootUrl": "https://databasecenter.googleapis.com/",
 "schemas": {
 "AdditionalDetail": {
@@ -536,7 +536,9 @@
 "SIGNAL_TYPE_DATABOOST_DISABLED",
 "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
 "SIGNAL_TYPE_EXTENDED_SUPPORT",
-"SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE"
+"SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
+"SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
+"SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME"
 ],
 "enumDescriptions": [
 "Unspecified.",
@@ -638,7 +640,9 @@
 "Databoost is disabled.",
 "Recommended maintenance policy.",
 "Resource version is in extended support.",
-"Represents a database version nearing end of life."
+"Represents a database version nearing end of life.",
+"Indicates a high risk of maintenance downtime.",
+"Indicates both a low cache hit rate and a risk of maintenance downtime."
 ],
 "type": "string"
 }
@@ -1606,7 +1610,9 @@
 "SIGNAL_TYPE_DATABOOST_DISABLED",
 "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
 "SIGNAL_TYPE_EXTENDED_SUPPORT",
-"SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE"
+"SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
+"SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
+"SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME"
 ],
 "enumDescriptions": [
 "Unspecified.",
@@ -1708,7 +1714,9 @@
 "Databoost is disabled.",
 "Recommended maintenance policy.",
 "Resource version is in extended support.",
-"Represents a database version nearing end of life."
+"Represents a database version nearing end of life.",
+"Indicates a high risk of maintenance downtime.",
+"Indicates both a low cache hit rate and a risk of maintenance downtime."
 ],
 "type": "string"
 }
@@ -2708,7 +2716,9 @@
 "SIGNAL_TYPE_DATABOOST_DISABLED",
 "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
 "SIGNAL_TYPE_EXTENDED_SUPPORT",
-"SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE"
+"SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
+"SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
+"SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME"
 ],
 "enumDescriptions": [
 "Unspecified.",
@@ -2810,7 +2820,9 @@
 "Databoost is disabled.",
 "Recommended maintenance policy.",
 "Resource version is in extended support.",
-"Represents a database version nearing end of life."
+"Represents a database version nearing end of life.",
+"Indicates a high risk of maintenance downtime.",
+"Indicates both a low cache hit rate and a risk of maintenance downtime."
 ],
 "type": "string"
 }
@@ -2941,7 +2953,9 @@
 "SIGNAL_TYPE_DATABOOST_DISABLED",
 "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
 "SIGNAL_TYPE_EXTENDED_SUPPORT",
-"SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE"
+"SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
+"SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
+"SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME"
 ],
 "enumDescriptions": [
 "Unspecified.",
@@ -3043,7 +3057,9 @@
 "Databoost is disabled.",
 "Recommended maintenance policy.",
 "Resource version is in extended support.",
-"Represents a database version nearing end of life."
+"Represents a database version nearing end of life.",
+"Indicates a high risk of maintenance downtime.",
+"Indicates both a low cache hit rate and a risk of maintenance downtime."
 ],
 "type": "string"
 }
@@ -3186,7 +3202,9 @@
 "SIGNAL_TYPE_DATABOOST_DISABLED",
 "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
 "SIGNAL_TYPE_EXTENDED_SUPPORT",
-"SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE"
+"SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
+"SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
+"SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME"
 ],
 "enumDescriptions": [
 "Unspecified.",
@@ -3288,7 +3306,9 @@
 "Databoost is disabled.",
 "Recommended maintenance policy.",
 "Resource version is in extended support.",
-"Represents a database version nearing end of life."
+"Represents a database version nearing end of life.",
+"Indicates a high risk of maintenance downtime.",
+"Indicates both a low cache hit rate and a risk of maintenance downtime."
 ],
 "type": "string"
 }
@@ -3406,7 +3426,9 @@
 "SIGNAL_TYPE_DATABOOST_DISABLED",
 "SIGNAL_TYPE_RECOMMENDED_MAINTENANCE_POLICIES",
 "SIGNAL_TYPE_EXTENDED_SUPPORT",
-"SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE"
+"SIGNAL_TYPE_VERSION_NEARING_END_OF_LIFE",
+"SIGNAL_TYPE_HIGH_MAINTENANCE_DOWNTIME_RISK",
+"SIGNAL_TYPE_LOW_CACHE_HIT_AND_MAINTENANCE_DOWNTIME"
 ],
 "enumDescriptions": [
 "Unspecified.",
@@ -3508,7 +3530,9 @@
 "Databoost is disabled.",
 "Recommended maintenance policy.",
 "Resource version is in extended support.",
-"Represents a database version nearing end of life."
+"Represents a database version nearing end of life.",
+"Indicates a high risk of maintenance downtime.",
+"Indicates both a low cache hit rate and a risk of maintenance downtime."
 ],
 "type": "string"
 },
diff --git a/googleapiclient/discovery_cache/documents/dataform.v1.json b/googleapiclient/discovery_cache/documents/dataform.v1.json
index 1c00ec3..f040331 100644
--- a/googleapiclient/discovery_cache/documents/dataform.v1.json
+++ b/googleapiclient/discovery_cache/documents/dataform.v1.json
@@ -1502,7 +1502,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. The compilation result's name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:GetCompilationResultRequest)",
+"description": "Required. The compilation result's name.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/compilationResults/[^/]+$",
 "required": true,
@@ -1528,7 +1528,7 @@
 ],
 "parameters": {
 "filter": {
-"description": "Optional. Filter for the returned list. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListCompilationResultsRequest)",
+"description": "Optional. Filter for the returned list.",
 "location": "query",
 "type": "string"
 },
@@ -1628,7 +1628,7 @@
 "type": "string"
 },
 "releaseConfigId": {
-"description": "Required. The ID to use for the release config, which will become the final component of the release config's resource name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:CreateReleaseConfigRequest)",
+"description": "Required. The ID to use for the release config, which will become the final component of the release config's resource name.",
 "location": "query",
 "type": "string"
 }
@@ -1655,7 +1655,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. The release config's name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:DeleteReleaseConfigRequest)",
+"description": "Required. The release config's name.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/releaseConfigs/[^/]+$",
 "required": true,
@@ -1681,7 +1681,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. The release config's name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:GetReleaseConfigRequest)",
+"description": "Required. The release config's name.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/releaseConfigs/[^/]+$",
 "required": true,
@@ -1713,7 +1713,7 @@
 "type": "integer"
 },
 "pageToken": {
-"description": "Optional. Page token received from a previous `ListReleaseConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleaseConfigs`, with the exception of `page_size`, must match the call that provided the page token. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListReleaseConfigsRequest)",
+"description": "Optional. Page token received from a previous `ListReleaseConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleaseConfigs`, with the exception of `page_size`, must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
@@ -3155,7 +3155,7 @@
 "type": "string"
 },
 "pageSize": {
-"description": "Optional. Maximum number of TeamFolders to return. The server may return fewer items than requested. If unspecified, the server will pick a default of page_size = 50.",
+"description": "Optional. Maximum number of `TeamFolders` to return. The server may return fewer items than requested. If unspecified, the server will pick a default of `page_size` = 50.",
 "format": "int32",
 "location": "query",
 "type": "integer"
@@ -3240,7 +3240,7 @@
 }
 }
 },
-"revision": "20260607",
+"revision": "20260621",
 "rootUrl": "https://dataform.googleapis.com/",
 "schemas": {
 "ActionErrorTable": {
@@ -3608,7 +3608,7 @@
 "properties": {
 "actionTarget": {
 "$ref": "Target",
-"description": "Output only. The identifier of the action where this error occurred, if available. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:CompilationError)",
+"description": "Output only. The identifier of the action where this error occurred, if available.",
 "readOnly": true
 },
 "message": {
@@ -4162,7 +4162,7 @@
 "type": "string"
 },
 "defaultBranch": {
-"description": "Optional. The Git remote's default branch name. If not set `main` will be used.",
+"description": "Optional. The Git remote's default branch name. If not set, `main` will be used.",
 "type": "string"
 },
 "effectiveDefaultBranch": {
@@ -4171,7 +4171,7 @@
 "type": "string"
 },
 "gitRepositoryLink": {
-"description": "Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`",
+"description": "Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`",
 "type": "string"
 },
 "sshAuthenticationConfig": {
@@ -4365,7 +4365,7 @@
 "type": "string"
 },
 "unreachable": {
-"description": "Locations which could not be reached. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListCompilationResultsResponse)",
+"description": "Locations which could not be reached.",
 "items": {
 "type": "string"
 },
@@ -4433,7 +4433,7 @@
 "type": "array"
 },
 "unreachable": {
-"description": "Locations which could not be reached. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListReleaseConfigsResponse)",
+"description": "Locations which could not be reached.",
 "items": {
 "type": "string"
 },
@@ -5277,7 +5277,7 @@
 "type": "string"
 },
 "internalMetadata": {
-"description": "Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ReleaseConfig)",
+"description": "Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.",
 "readOnly": true,
 "type": "string"
 },
diff --git a/googleapiclient/discovery_cache/documents/dataform.v1beta1.json b/googleapiclient/discovery_cache/documents/dataform.v1beta1.json
index 83fe782..f16b189 100644
--- a/googleapiclient/discovery_cache/documents/dataform.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/dataform.v1beta1.json
@@ -1093,7 +1093,7 @@
 ]
 },
 "deleteLongRunning": {
-"description": "Deletes a single Repository asynchronously.",
+"description": "Deletes a single repository asynchronously.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:deleteLongRunning",
 "httpMethod": "POST",
 "id": "dataform.projects.locations.repositories.deleteLongRunning",
@@ -1537,7 +1537,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. The compilation result's name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:GetCompilationResultRequest)",
+"description": "Required. The compilation result's name.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/compilationResults/[^/]+$",
 "required": true,
@@ -1563,7 +1563,7 @@
 ],
 "parameters": {
 "filter": {
-"description": "Optional. Filter for the returned list. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListCompilationResultsRequest)",
+"description": "Optional. Filter for the returned list.",
 "location": "query",
 "type": "string"
 },
@@ -1663,7 +1663,7 @@
 "type": "string"
 },
 "releaseConfigId": {
-"description": "Required. The ID to use for the release config, which will become the final component of the release config's resource name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:CreateReleaseConfigRequest)",
+"description": "Required. The ID to use for the release config, which will become the final component of the release config's resource name.",
 "location": "query",
 "type": "string"
 }
@@ -1690,7 +1690,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. The release config's name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:DeleteReleaseConfigRequest)",
+"description": "Required. The release config's name.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/releaseConfigs/[^/]+$",
 "required": true,
@@ -1716,7 +1716,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. The release config's name. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:GetReleaseConfigRequest)",
+"description": "Required. The release config's name.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/releaseConfigs/[^/]+$",
 "required": true,
@@ -1748,7 +1748,7 @@
 "type": "integer"
 },
 "pageToken": {
-"description": "Optional. Page token received from a previous `ListReleaseConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleaseConfigs`, with the exception of `page_size`, must match the call that provided the page token. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListReleaseConfigsRequest)",
+"description": "Optional. Page token received from a previous `ListReleaseConfigs` call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `ListReleaseConfigs`, with the exception of `page_size`, must match the call that provided the page token.",
 "location": "query",
 "type": "string"
 },
@@ -3196,7 +3196,7 @@
 "type": "string"
 },
 "pageSize": {
-"description": "Optional. Maximum number of TeamFolders to return. The server may return fewer items than requested. If unspecified, the server will pick a default of page_size = 50.",
+"description": "Optional. Maximum number of `TeamFolders` to return. The server may return fewer items than requested. If unspecified, the server will pick a default of `page_size` = 50.",
 "format": "int32",
 "location": "query",
 "type": "integer"
@@ -3281,7 +3281,7 @@
 }
 }
 },
-"revision": "20260615",
+"revision": "20260621",
 "rootUrl": "https://dataform.googleapis.com/",
 "schemas": {
 "ActionErrorTable": {
@@ -3649,7 +3649,7 @@
 "properties": {
 "actionTarget": {
 "$ref": "Target",
-"description": "Output only. The identifier of the action where this error occurred, if available. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:CompilationError)",
+"description": "Output only. The identifier of the action where this error occurred, if available.",
 "readOnly": true
 },
 "message": {
@@ -4214,7 +4214,7 @@
 "type": "string"
 },
 "defaultBranch": {
-"description": "Optional. The Git remote's default branch name. If not set `main` will be used.",
+"description": "Optional. The Git remote's default branch name. If not set, `main` will be used.",
 "type": "string"
 },
 "effectiveDefaultBranch": {
@@ -4223,7 +4223,7 @@
 "type": "string"
 },
 "gitRepositoryLink": {
-"description": "Optional. Resource name for the GitRepositoryLink used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`",
+"description": "Optional. Resource name for the `GitRepositoryLink` used for machine credentials. Must be in the format `projects/*/locations/*/connections/*/gitRepositoryLinks/*`",
 "type": "string"
 },
 "sshAuthenticationConfig": {
@@ -4417,7 +4417,7 @@
 "type": "string"
 },
 "unreachable": {
-"description": "Locations which could not be reached. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListCompilationResultsResponse)",
+"description": "Locations which could not be reached.",
 "items": {
 "type": "string"
 },
@@ -4485,7 +4485,7 @@
 "type": "array"
 },
 "unreachable": {
-"description": "Locations which could not be reached. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ListReleaseConfigsResponse)",
+"description": "Locations which could not be reached.",
 "items": {
 "type": "string"
 },
@@ -5329,7 +5329,7 @@
 "type": "string"
 },
 "internalMetadata": {
-"description": "Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string. LINT.ThenChange(//depot/google3/google/cloud/dataform/v2main/data_pipelines.proto:ReleaseConfig)",
+"description": "Output only. All the metadata information that is used internally to serve the resource. For example: timestamps, flags, status fields, etc. The format of this field is a JSON string.",
 "readOnly": true,
 "type": "string"
 },
diff --git a/googleapiclient/discovery_cache/documents/datamigration.v1.json b/googleapiclient/discovery_cache/documents/datamigration.v1.json
index 778de58..6da2473 100644
--- a/googleapiclient/discovery_cache/documents/datamigration.v1.json
+++ b/googleapiclient/discovery_cache/documents/datamigration.v1.json
@@ -2587,7 +2587,7 @@
 }
 }
 },
-"revision": "20260511",
+"revision": "20260620",
 "rootUrl": "https://datamigration.googleapis.com/",
 "schemas": {
 "AlloyDbConnectionProfile": {
@@ -5318,6 +5318,10 @@
 "description": "The resource labels for migration job to use to annotate any related underlying resources such as Compute Engine VMs. An object containing a list of \"key\": \"value\" pairs. Example: `{ \"name\": \"wrench\", \"mass\": \"1.3kg\", \"count\": \"3\" }`.",
 "type": "object"
 },
+"mysqlHomogeneousConfig": {
+"$ref": "MySqlHomogeneousConfig",
+"description": "Optional. Configuration for MySQL homogeneous migration."
+},
 "name": {
 "description": "The name (URI) of this migration job resource, in the form of: projects/{project}/locations/{location}/migrationJobs/{migrationJob}.",
 "type": "string"
@@ -5518,7 +5522,9 @@
 "READY_FOR_PROMOTE",
 "PROMOTE_IN_PROGRESS",
 "PROMOTED",
-"DIFF_BACKUP"
+"DIFF_BACKUP",
+"CREATING_BACKUP",
+"RESTORING_BACKUP"
 ],
 "enumDescriptions": [
 "The phase of the migration job is unknown.",
@@ -5527,7 +5533,9 @@
 "The migration job object is ready to be promoted.",
 "The migration job object is in running the promote phase.",
 "The migration job is promoted.",
-"The migration job object is in the differential backup phase."
+"The migration job object is in the differential backup phase.",
+"The migration job object is creating a fully managed backup of the source.",
+"The migration job object is restoring a fully managed backup to the destination."
 ],
 "readOnly": true,
 "type": "string"
@@ -5787,6 +5795,17 @@
 },
 "type": "object"
 },
+"MySqlHomogeneousConfig": {
+"description": "Configuration for MySQL to MySQL migrations.",
+"id": "MySqlHomogeneousConfig",
+"properties": {
+"isPrimaryDestination": {
+"description": "Optional. Whether the destination for the migration job is a primary instance.",
+"type": "boolean"
+}
+},
+"type": "object"
+},
 "Operation": {
 "description": "This resource represents a long-running operation that is the result of a network API call.",
 "id": "Operation",
diff --git a/googleapiclient/discovery_cache/documents/dataplex.v1.json b/googleapiclient/discovery_cache/documents/dataplex.v1.json
index ce4d9df..60633e8 100644
--- a/googleapiclient/discovery_cache/documents/dataplex.v1.json
+++ b/googleapiclient/discovery_cache/documents/dataplex.v1.json
@@ -1950,6 +1950,97 @@
 },
 "dataDomains": {
 "methods": {
+"create": {
+"description": "Creates a DataDomain resource.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains",
+"httpMethod": "POST",
+"id": "dataplex.projects.locations.dataDomains.create",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"dataDomainId": {
+"description": "Required. DataDomain identifier. * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the project and location.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The resource name of the parent location: projects/{project_id_or_number}/locations/{location_id}",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+},
+"validateOnly": {
+"description": "Optional. Only validate the request, but do not perform mutations.",
+"location": "query",
+"type": "boolean"
+}
+},
+"path": "v1/{+parent}/dataDomains",
+"request": {
+"$ref": "GoogleCloudDataplexV1DataDomain"
+},
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/dataplex.read-write"
+]
+},
+"delete": {
+"description": "Deletes a DataDomain resource (allowed only when there are no bindings).",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}",
+"httpMethod": "DELETE",
+"id": "dataplex.projects.locations.dataDomains.delete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the DataDomain: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/dataplex.read-write"
+]
+},
+"get": {
+"description": "Retrieves a DataDomain resource.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}",
+"httpMethod": "GET",
+"id": "dataplex.projects.locations.dataDomains.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the DataDomain: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "GoogleCloudDataplexV1DataDomain"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/dataplex.read-write"
+]
+},
 "getIamPolicy": {
 "description": "Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}:getIamPolicy",
@@ -1982,6 +2073,93 @@
 "https://www.googleapis.com/auth/dataplex.read-write"
 ]
 },
+"list": {
+"description": "Lists DataDomain resources in a project and location.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains",
+"httpMethod": "GET",
+"id": "dataplex.projects.locations.dataDomains.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"filter": {
+"description": "Optional. Filter request. Supports filter by parent_data_domain.",
+"location": "query",
+"type": "string"
+},
+"orderBy": {
+"description": "Optional. Order by fields for the result.",
+"location": "query",
+"type": "string"
+},
+"pageSize": {
+"description": "Optional. Maximum number of DataDomains to return. The service may return fewer. If unspecified, at most 50 domains will be returned. The maximum value is 100; values above 100 will be coerced to 100.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. Page token received from a previous ListDataDomains call.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The resource name of the parent location: projects/{project_id_or_number}/locations/{location_id}",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/dataDomains",
+"response": {
+"$ref": "GoogleCloudDataplexV1ListDataDomainsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/dataplex.read-write"
+]
+},
+"patch": {
+"description": "Updates a DataDomain resource.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}",
+"httpMethod": "PATCH",
+"id": "dataplex.projects.locations.dataDomains.patch",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Identifier. The relative resource name of the DataDomain, of the form: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
+"required": true,
+"type": "string"
+},
+"updateMask": {
+"description": "Optional. Mask of fields to update.",
+"format": "google-fieldmask",
+"location": "query",
+"type": "string"
+},
+"validateOnly": {
+"description": "Optional. Only validate the request, but do not perform mutations.",
+"location": "query",
+"type": "boolean"
+}
+},
+"path": "v1/{+name}",
+"request": {
+"$ref": "GoogleCloudDataplexV1DataDomain"
+},
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/dataplex.read-write"
+]
+},
 "setIamPolicy": {
 "description": "Sets the access control policy on the specified resource. Replaces any existing policy.Can return NOT_FOUND, INVALID_ARGUMENT, and PERMISSION_DENIED errors.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}:setIamPolicy",
@@ -2040,6 +2218,150 @@
 "https://www.googleapis.com/auth/dataplex.read-write"
 ]
 }
+},
+"resources": {
+"bindings": {
+"methods": {
+"create": {
+"description": "Creates a DataDomainBinding resource.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}/bindings",
+"httpMethod": "POST",
+"id": "dataplex.projects.locations.dataDomains.bindings.create",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"dataDomainBindingId": {
+"description": "Optional. DataDomainBinding identifier. * Must contain only lowercase letters, numbers and hyphens. * Must start with a letter. * Must be between 1-63 characters. * Must end with a number or a letter. * Must be unique within the parent DataDomain. If not provided, a system-generated UUID will be used.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The resource name of the parent DataDomain: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
+"required": true,
+"type": "string"
+},
+"validateOnly": {
+"description": "Optional. Only validate the request, but do not perform mutations.",
+"location": "query",
+"type": "boolean"
+}
+},
+"path": "v1/{+parent}/bindings",
+"request": {
+"$ref": "GoogleCloudDataplexV1DataDomainBinding"
+},
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/dataplex.read-write"
+]
+},
+"delete": {
+"description": "Deletes a DataDomainBinding resource.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}/bindings/{bindingsId}",
+"httpMethod": "DELETE",
+"id": "dataplex.projects.locations.dataDomains.bindings.delete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the DataDomainBinding: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}/bindings/{binding_id}",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+/bindings/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "GoogleLongrunningOperation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/dataplex.read-write"
+]
+},
+"get": {
+"description": "Retrieves a DataDomainBinding resource.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}/bindings/{bindingsId}",
+"httpMethod": "GET",
+"id": "dataplex.projects.locations.dataDomains.bindings.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the DataDomainBinding: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}/bindings/{binding_id}",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+/bindings/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}",
+"response": {
+"$ref": "GoogleCloudDataplexV1DataDomainBinding"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/dataplex.read-write"
+]
+},
+"list": {
+"description": "Lists DataDomainBinding resources under a DataDomain.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/dataDomains/{dataDomainsId}/bindings",
+"httpMethod": "GET",
+"id": "dataplex.projects.locations.dataDomains.bindings.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"filter": {
+"description": "Optional. Filter request.",
+"location": "query",
+"type": "string"
+},
+"orderBy": {
+"description": "Optional. Order by fields for the result.",
+"location": "query",
+"type": "string"
+},
+"pageSize": {
+"description": "Optional. Maximum number of DataDomainBindings to return. The service may return fewer. If unspecified, at most 50 bindings will be returned. The maximum value is 100; values above 100 will be coerced to 100.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. Page token received from a previous ListDataDomainBindings call.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The resource name of the parent DataDomain: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/dataDomains/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+parent}/bindings",
+"response": {
+"$ref": "GoogleCloudDataplexV1ListDataDomainBindingsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform",
+"https://www.googleapis.com/auth/dataplex.read-write"
+]
+}
+}
+}
 }
 },
 "dataProducts": {
@@ -7716,7 +8038,7 @@
 }
 }
 },
-"revision": "20260603",
+"revision": "20260619",
 "rootUrl": "https://dataplex.googleapis.com/",
 "schemas": {
 "Empty": {
@@ -8842,6 +9164,39 @@
 },
 "type": "object"
 },
+"GoogleCloudDataplexV1ContactIdentity": {
+"description": "Identity of a business contact.",
+"id": "GoogleCloudDataplexV1ContactIdentity",
+"properties": {
+"contactId": {
+"description": "Optional. Email ID or freeform ID of the Contact person.",
+"type": "string"
+},
+"contactName": {
+"description": "Required. Name of the contact person for the Data Domain; unvalidated freeform text.",
+"type": "string"
+},
+"contactRole": {
+"description": "Required. Designation of the person i.e. Data Steward or Data Analyst. Example values: owner, steward, producer, admin.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"GoogleCloudDataplexV1Contacts": {
+"description": "Business contacts part of business context of a Data Domain. Corresponds to the Contacts Aspect in Dataplex Universal Catalog.",
+"id": "GoogleCloudDataplexV1Contacts",
+"properties": {
+"identities": {
+"description": "Required. Identities of the business contacts.",
+"items": {
+"$ref": "GoogleCloudDataplexV1ContactIdentity"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
 "GoogleCloudDataplexV1CreateEntryLinkRequest": {
 "description": "Request message for CreateEntryLink.",
 "id": "GoogleCloudDataplexV1CreateEntryLinkRequest",
@@ -9385,6 +9740,10 @@
 "description": "Describes options for unstructured data discovery.",
 "id": "GoogleCloudDataplexV1DataDiscoverySpecStorageConfigUnstructuredDataOptions",
 "properties": {
+"globalEndpointEnabled": {
+"description": "Optional. Whether to use the global model endpoint.",
+"type": "boolean"
+},
 "semanticInferenceEnabled": {
 "description": "Optional. Specifies whether deeper semantic inference over the objects' contents using GenAI is enabled.",
 "type": "boolean"
@@ -9609,13 +9968,15 @@
 "GENERATION_SCOPE_UNSPECIFIED",
 "ALL",
 "TABLE_AND_COLUMN_DESCRIPTIONS",
-"SQL_QUERIES"
+"SQL_QUERIES",
+"BUSINESS_GLOSSARY_TERM_ASSOCIATIONS"
 ],
 "enumDescriptions": [
 "Unspecified generation scope. If no generation scope is specified, all available documentation components will be generated.",
 "All the possible results will be generated.",
 "Table and column descriptions will be generated.",
-"SQL queries will be generated."
+"SQL queries will be generated.",
+"Business glossary term associations will be generated."
 ],
 "type": "string"
 },
@@ -9624,6 +9985,83 @@
 },
 "type": "object"
 },
+"GoogleCloudDataplexV1DataDomain": {
+"description": "A DataDomain is a logical grouping of data resources for governance, discovery, and management at scale.",
+"id": "GoogleCloudDataplexV1DataDomain",
+"properties": {
+"contacts": {
+"$ref": "GoogleCloudDataplexV1Contacts",
+"description": "Required. Contact info for the Data Domains."
+},
+"createTime": {
+"description": "Output only. The time at which the DataDomain was created.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"description": {
+"description": "Optional. User-provided description of the DataDomain.",
+"type": "string"
+},
+"displayName": {
+"description": "Required. User-friendly display name.",
+"type": "string"
+},
+"labels": {
+"additionalProperties": {
+"type": "string"
+},
+"description": "Optional. User-defined labels for the DataDomain.",
+"type": "object"
+},
+"name": {
+"description": "Identifier. The relative resource name of the DataDomain, of the form: projects/{project_id_or_number}/locations/{location_id}/dataDomains/{data_domain_id}",
+"type": "string"
+},
+"parentDataDomain": {
+"description": "Optional. Immutable. The resource name of the parent DataDomain. Empty if this is a top-level DataDomain. Format: projects/{project_id_or_number}/locations/{location}/dataDomains/{parent_data_domain_id} This field is immutable after creation.",
+"type": "string"
+},
+"uid": {
+"description": "Output only. System-generated globally unique ID for the DataDomain.",
+"readOnly": true,
+"type": "string"
+},
+"updateTime": {
+"description": "Output only. The time at which the DataDomain was last updated.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"GoogleCloudDataplexV1DataDomainBinding": {
+"description": "DataDomainBinding represents a rule that includes a Google Cloud resource and its contents into a DataDomain.",
+"id": "GoogleCloudDataplexV1DataDomainBinding",
+"properties": {
+"createTime": {
+"description": "Output only. The time at which the DataDomainBinding was created.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"name": {
+"description": "Identifier. The relative resource name of the DataDomainBinding. Format: projects/{project_id_or_number}/locations/{location}/dataDomains/{data_domain_id}/bindings/{binding_id}",
+"type": "string"
+},
+"resource": {
+"description": "Required. Immutable. The full resource name of the Google Cloud resource to be bound (i.e. included together with its contents) to the DataDomain.Format: IAM Full resource name (https://docs.cloud.google.com/iam/docs/full-resource-names) Examples: - GCP Project: //cloudresourcemanager.googleapis.com/projects/{project-id} - BigQuery Dataset: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id} - BigQuery Table: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id}/tables/{table-id} - Dataplex Data Product: //dataplex.googleapis.com/projects/{project-number}/locations/{location}/dataProducts/{data-product-id}Authorization: the resource to be bound must first grant an IAM role with the resource-specific setIamPolicy permission to the DataDomain. Example: - resource: //bigquery.googleapis.com/projects/{project-id}/datasets/{dataset-id} - IAM role: with bigquery.datasets.setIamPolicy permission (e.g. roles/owner) - IAM member: principal://dataplex.googleapis.com/projects/{project-number}/name/locations/{location}/dataDomains/{data-domain-id}",
+"type": "string"
+},
+"uid": {
+"description": "Output only. System-generated unique ID.",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudDataplexV1DataProduct": {
 "description": "A data product is a curated collection of data assets, packaged to address specific use cases. It's a way to manage and share data in a more organized, product-like manner.",
 "id": "GoogleCloudDataplexV1DataProduct",
@@ -13729,6 +14167,42 @@
 },
 "type": "object"
 },
+"GoogleCloudDataplexV1ListDataDomainBindingsResponse": {
+"description": "List DataDomainBindings response.",
+"id": "GoogleCloudDataplexV1ListDataDomainBindingsResponse",
+"properties": {
+"dataDomainBindings": {
+"description": "DataDomainBindings under the given parent.",
+"items": {
+"$ref": "GoogleCloudDataplexV1DataDomainBinding"
+},
+"type": "array"
+},
+"nextPageToken": {
+"description": "Token to retrieve the next page of results.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"GoogleCloudDataplexV1ListDataDomainsResponse": {
+"description": "List DataDomains response.",
+"id": "GoogleCloudDataplexV1ListDataDomainsResponse",
+"properties": {
+"dataDomains": {
+"description": "DataDomains under the given parent.",
+"items": {
+"$ref": "GoogleCloudDataplexV1DataDomain"
+},
+"type": "array"
+},
+"nextPageToken": {
+"description": "Token to retrieve the next page of results.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudDataplexV1ListDataProductsResponse": {
 "description": "Response message for listing data products.",
 "id": "GoogleCloudDataplexV1ListDataProductsResponse",
diff --git a/googleapiclient/discovery_cache/documents/datastream.v1.json b/googleapiclient/discovery_cache/documents/datastream.v1.json
index 4355efe..1b59113 100644
--- a/googleapiclient/discovery_cache/documents/datastream.v1.json
+++ b/googleapiclient/discovery_cache/documents/datastream.v1.json
@@ -1503,7 +1503,7 @@
 }
 }
 },
-"revision": "20260531",
+"revision": "20260617",
 "rootUrl": "https://datastream.googleapis.com/",
 "schemas": {
 "AppendOnly": {
@@ -4214,7 +4214,8 @@
 },
 "userCredentials": {
 "$ref": "UserCredentials",
-"description": "User-password authentication."
+"deprecated": true,
+"description": "Deprecated: Salesforce is retiring Username-Password authentication. Use `oauth2_client_credentials` instead."
 }
 },
 "type": "object"
@@ -5206,7 +5207,8 @@
 "type": "object"
 },
 "UserCredentials": {
-"description": "Username-password credentials.",
+"deprecated": true,
+"description": "Deprecated: Salesforce is retiring Username-Password authentication. Use `Oauth2ClientCredentials` instead.",
 "id": "UserCredentials",
 "properties": {
 "password": {
diff --git a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
index e0575b3..ceae040 100644
--- a/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
+++ b/googleapiclient/discovery_cache/documents/dialogflow.v2beta1.json
@@ -8431,7 +8431,7 @@
 }
 }
 },
-"revision": "20260616",
+"revision": "20260622",
 "rootUrl": "https://dialogflow.googleapis.com/",
 "schemas": {
 "GoogleCloudDialogflowCxV3AdvancedSettings": {
@@ -17798,18 +17798,6 @@
 },
 "type": "object"
 },
-"GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigConversationModelConfig": {
-"id": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigConversationModelConfig",
-"properties": {
-"baselineModelVersion": {
-"type": "string"
-},
-"model": {
-"type": "string"
-}
-},
-"type": "object"
-},
 "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigConversationProcessConfig": {
 "id": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigConversationProcessConfig",
 "properties": {
@@ -17871,9 +17859,6 @@
 "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionFeatureConfig": {
 "id": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigSuggestionFeatureConfig",
 "properties": {
-"conversationModelConfig": {
-"$ref": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigConversationModelConfig"
-},
 "conversationProcessConfig": {
 "$ref": "GoogleCloudDialogflowV2beta1HumanAgentAssistantConfigConversationProcessConfig"
 },
diff --git a/googleapiclient/discovery_cache/documents/discoveryengine.v1.json b/googleapiclient/discovery_cache/documents/discoveryengine.v1.json
index 42c3c53..49c1fb4 100644
--- a/googleapiclient/discovery_cache/documents/discoveryengine.v1.json
+++ b/googleapiclient/discovery_cache/documents/discoveryengine.v1.json
@@ -52,6 +52,21 @@
 "description": "Regional Endpoint",
 "endpointUrl": "https://discoveryengine.in.rep.googleapis.com/",
 "location": "in"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://discoveryengine.asia-southeast1.rep.googleapis.com/",
+"location": "asia-southeast1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://discoveryengine.europe-west3.rep.googleapis.com/",
+"location": "europe-west3"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://discoveryengine.ca.rep.googleapis.com/",
+"location": "ca"
 }
 ],
 "fullyEncodeReservedExpansion": true,
@@ -9506,7 +9521,7 @@
 "type": "string"
 },
 "pageSize": {
-"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, defaults to 10. The maximum value is 50; values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT error is returned.",
+"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, defaults to 100. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.",
 "format": "int32",
 "location": "query",
 "type": "integer"
@@ -9652,7 +9667,7 @@
 }
 }
 },
-"revision": "20260614",
+"revision": "20260620",
 "rootUrl": "https://discoveryengine.googleapis.com/",
 "schemas": {
 "A2aV1APIKeySecurityScheme": {
@@ -16534,6 +16549,10 @@
 ],
 "type": "string"
 },
+"associatedAgentRegistry": {
+"description": "Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.",
+"type": "string"
+},
 "chatEngineConfig": {
 "$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineConfig",
 "description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT."
@@ -16606,7 +16625,7 @@
 ],
 "type": "string"
 },
-"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`",
+"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`",
 "type": "object"
 },
 "industryVertical": {
@@ -21354,6 +21373,13 @@
 "description": "A global unique ID that identifies the current pair of request and stream of responses. Used for feedback and support.",
 "type": "string"
 },
+"connectorAuthErrors": {
+"description": "Per-connector authentication errors encountered during the request. Present when one or more connectors failed authentication but the request proceeded with the remaining connectors.",
+"items": {
+"$ref": "GoogleCloudDiscoveryengineV1StreamAssistResponseConnectorAuthError"
+},
+"type": "array"
+},
 "invocationTools": {
 "description": "The tool names of the tools that were invoked.",
 "items": {
@@ -21375,6 +21401,21 @@
 },
 "type": "object"
 },
+"GoogleCloudDiscoveryengineV1StreamAssistResponseConnectorAuthError": {
+"description": "Describes an authentication error for a specific data connector.",
+"id": "GoogleCloudDiscoveryengineV1StreamAssistResponseConnectorAuthError",
+"properties": {
+"dataConnector": {
+"description": "Resource name of the data connector that failed authentication.",
+"type": "string"
+},
+"errorMessage": {
+"description": "Human-readable error message describing the auth failure.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudDiscoveryengineV1StreamAssistResponseInvokedSkill": {
 "description": "Represents a skill used during the assist call.",
 "id": "GoogleCloudDiscoveryengineV1StreamAssistResponseInvokedSkill",
@@ -22708,7 +22749,7 @@
 ],
 "type": "string"
 },
-"description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`",
+"description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`",
 "readOnly": true,
 "type": "object"
 },
@@ -26549,6 +26590,10 @@
 ],
 "type": "string"
 },
+"associatedAgentRegistry": {
+"description": "Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.",
+"type": "string"
+},
 "chatEngineConfig": {
 "$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig",
 "description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT."
@@ -26621,7 +26666,7 @@
 ],
 "type": "string"
 },
-"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`",
+"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`",
 "type": "object"
 },
 "industryVertical": {
@@ -32068,6 +32113,10 @@
 ],
 "type": "string"
 },
+"associatedAgentRegistry": {
+"description": "Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.",
+"type": "string"
+},
 "chatEngineConfig": {
 "$ref": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig",
 "description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT."
@@ -32140,7 +32189,7 @@
 ],
 "type": "string"
 },
-"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`",
+"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`",
 "type": "object"
 },
 "industryVertical": {
diff --git a/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json b/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json
index 1e760e0..086d496 100644
--- a/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/discoveryengine.v1alpha.json
@@ -52,6 +52,21 @@
 "description": "Regional Endpoint",
 "endpointUrl": "https://discoveryengine.in.rep.googleapis.com/",
 "location": "in"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://discoveryengine.asia-southeast1.rep.googleapis.com/",
+"location": "asia-southeast1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://discoveryengine.europe-west3.rep.googleapis.com/",
+"location": "europe-west3"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://discoveryengine.ca.rep.googleapis.com/",
+"location": "ca"
 }
 ],
 "fullyEncodeReservedExpansion": true,
@@ -12764,7 +12779,7 @@
 "type": "string"
 },
 "pageSize": {
-"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, defaults to 10. The maximum value is 50; values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT error is returned.",
+"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, defaults to 100. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.",
 "format": "int32",
 "location": "query",
 "type": "integer"
@@ -12880,7 +12895,7 @@
 }
 }
 },
-"revision": "20260614",
+"revision": "20260620",
 "rootUrl": "https://discoveryengine.googleapis.com/",
 "schemas": {
 "GoogleApiDistribution": {
@@ -15609,6 +15624,10 @@
 ],
 "type": "string"
 },
+"associatedAgentRegistry": {
+"description": "Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.",
+"type": "string"
+},
 "chatEngineConfig": {
 "$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineConfig",
 "description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT."
@@ -15681,7 +15700,7 @@
 ],
 "type": "string"
 },
-"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`",
+"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`",
 "type": "object"
 },
 "industryVertical": {
@@ -24717,6 +24736,10 @@
 ],
 "type": "string"
 },
+"associatedAgentRegistry": {
+"description": "Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.",
+"type": "string"
+},
 "chatEngineConfig": {
 "$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig",
 "description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT."
@@ -24789,7 +24812,7 @@
 ],
 "type": "string"
 },
-"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`",
+"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`",
 "type": "object"
 },
 "industryVertical": {
@@ -32338,6 +32361,13 @@
 "description": "A global unique ID that identifies the current pair of request and stream of responses. Used for feedback and support.",
 "type": "string"
 },
+"connectorAuthErrors": {
+"description": "Per-connector authentication errors encountered during the request. Present when one or more connectors failed authentication but the request proceeded with the remaining connectors.",
+"items": {
+"$ref": "GoogleCloudDiscoveryengineV1alphaStreamAssistResponseConnectorAuthError"
+},
+"type": "array"
+},
 "invocationTools": {
 "description": "The tool names of the tools that were invoked.",
 "items": {
@@ -32359,6 +32389,21 @@
 },
 "type": "object"
 },
+"GoogleCloudDiscoveryengineV1alphaStreamAssistResponseConnectorAuthError": {
+"description": "Describes an authentication error for a specific data connector.",
+"id": "GoogleCloudDiscoveryengineV1alphaStreamAssistResponseConnectorAuthError",
+"properties": {
+"dataConnector": {
+"description": "Resource name of the data connector that failed authentication.",
+"type": "string"
+},
+"errorMessage": {
+"description": "Human-readable error message describing the auth failure.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudDiscoveryengineV1alphaStreamAssistResponseInvokedSkill": {
 "description": "Represents a skill used during the assist call.",
 "id": "GoogleCloudDiscoveryengineV1alphaStreamAssistResponseInvokedSkill",
@@ -33853,7 +33898,7 @@
 ],
 "type": "string"
 },
-"description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`",
+"description": "Output only. Feature config for the engine to opt in or opt out of features. Supported keys: * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`",
 "readOnly": true,
 "type": "object"
 },
@@ -35391,6 +35436,10 @@
 ],
 "type": "string"
 },
+"associatedAgentRegistry": {
+"description": "Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.",
+"type": "string"
+},
 "chatEngineConfig": {
 "$ref": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig",
 "description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT."
@@ -35463,7 +35512,7 @@
 ],
 "type": "string"
 },
-"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`",
+"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`",
 "type": "object"
 },
 "industryVertical": {
diff --git a/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json b/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json
index 31d8324..b11d093 100644
--- a/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/discoveryengine.v1beta.json
@@ -52,6 +52,21 @@
 "description": "Regional Endpoint",
 "endpointUrl": "https://discoveryengine.in.rep.googleapis.com/",
 "location": "in"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://discoveryengine.asia-southeast1.rep.googleapis.com/",
+"location": "asia-southeast1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://discoveryengine.europe-west3.rep.googleapis.com/",
+"location": "europe-west3"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://discoveryengine.ca.rep.googleapis.com/",
+"location": "ca"
 }
 ],
 "fullyEncodeReservedExpansion": true,
@@ -9393,7 +9408,7 @@
 "type": "string"
 },
 "pageSize": {
-"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, defaults to 10. The maximum value is 50; values above 50 will be coerced to 50. If this field is negative, an INVALID_ARGUMENT error is returned.",
+"description": "Optional. Requested page size. Server may return fewer items than requested. If unspecified, defaults to 100. The maximum value is 1000; values above 1000 will be coerced to 1000. If this field is negative, an INVALID_ARGUMENT error is returned.",
 "format": "int32",
 "location": "query",
 "type": "integer"
@@ -9509,7 +9524,7 @@
 }
 }
 },
-"revision": "20260614",
+"revision": "20260620",
 "rootUrl": "https://discoveryengine.googleapis.com/",
 "schemas": {
 "GoogleApiDistribution": {
@@ -12238,6 +12253,10 @@
 ],
 "type": "string"
 },
+"associatedAgentRegistry": {
+"description": "Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.",
+"type": "string"
+},
 "chatEngineConfig": {
 "$ref": "GoogleCloudDiscoveryengineV1EngineChatEngineConfig",
 "description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT."
@@ -12310,7 +12329,7 @@
 ],
 "type": "string"
 },
-"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`",
+"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`",
 "type": "object"
 },
 "industryVertical": {
@@ -18031,6 +18050,10 @@
 ],
 "type": "string"
 },
+"associatedAgentRegistry": {
+"description": "Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.",
+"type": "string"
+},
 "chatEngineConfig": {
 "$ref": "GoogleCloudDiscoveryengineV1alphaEngineChatEngineConfig",
 "description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT."
@@ -18103,7 +18126,7 @@
 ],
 "type": "string"
 },
-"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`",
+"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`",
 "type": "object"
 },
 "industryVertical": {
@@ -27133,6 +27156,10 @@
 ],
 "type": "string"
 },
+"associatedAgentRegistry": {
+"description": "Optional. The Agent registry containing the agents, MCP servers and tools associated with this engine. Field is required if the engine has an Agent Gateway setting.",
+"type": "string"
+},
 "chatEngineConfig": {
 "$ref": "GoogleCloudDiscoveryengineV1betaEngineChatEngineConfig",
 "description": "Configurations for the Chat Engine. Only applicable if solution_type is SOLUTION_TYPE_CHAT."
@@ -27205,7 +27232,7 @@
 ],
 "type": "string"
 },
-"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence`",
+"description": "Optional. Feature config for the engine to opt in or opt out of features. Supported keys: * `*`: all features, if it's present, all other feature state settings are ignored. * `agent-gallery` * `no-code-agent-builder` * `prompt-gallery` * `model-selector` * `notebook-lm` * `people-search` * `people-search-org-chart` * `bi-directional-audio` * `feedback` * `session-sharing` * `personalization-memory` * `personalization-suggested-highlights` * `mobile-app-access` * `disable-agent-sharing` * `disable-image-generation` * `disable-video-generation` * `disable-onedrive-upload` * `disable-talk-to-content` * `disable-google-drive-upload` * `disable-welcome-emails` * `disable-canvas` * `canvas-workspace` * `disable-skills` * `enable-end-user-sharing-with-groups` * `single-agent-orchestration` * `multi-agent-orchestration` * `cross-product-intelligence` * `deep-research`",
 "type": "object"
 },
 "industryVertical": {
@@ -32947,6 +32974,13 @@
 "description": "A global unique ID that identifies the current pair of request and stream of responses. Used for feedback and support.",
 "type": "string"
 },
+"connectorAuthErrors": {
+"description": "Per-connector authentication errors encountered during the request. Present when one or more connectors failed authentication but the request proceeded with the remaining connectors.",
+"items": {
+"$ref": "GoogleCloudDiscoveryengineV1betaStreamAssistResponseConnectorAuthError"
+},
+"type": "array"
+},
 "invocationTools": {
 "description": "The tool names of the tools that were invoked.",
 "items": {
@@ -32968,6 +33002,21 @@
 },
 "type": "object"
 },
+"GoogleCloudDiscoveryengineV1betaStreamAssistResponseConnectorAuthError": {
+"description": "Describes an authentication error for a specific data connector.",
+"id": "GoogleCloudDiscoveryengineV1betaStreamAssistResponseConnectorAuthError",
+"properties": {
+"dataConnector": {
+"description": "Resource name of the data connector that failed authentication.",
+"type": "string"
+},
+"errorMessage": {
+"description": "Human-readable error message describing the auth failure.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudDiscoveryengineV1betaStreamAssistResponseInvokedSkill": {
 "description": "Represents a skill used during the assist call.",
 "id": "GoogleCloudDiscoveryengineV1betaStreamAssistResponseInvokedSkill",
diff --git a/googleapiclient/discovery_cache/documents/displayvideo.v4.json b/googleapiclient/discovery_cache/documents/displayvideo.v4.json
index 79614d2..2aa8d27 100644
--- a/googleapiclient/discovery_cache/documents/displayvideo.v4.json
+++ b/googleapiclient/discovery_cache/documents/displayvideo.v4.json
@@ -4976,6 +4976,179 @@
 }
 }
 },
+"reachForecast": {
+"methods": {
+"generateReachForecast": {
+"description": "Generates a reach forecast for a given advertiser and targeting configuration.",
+"flatPath": "v4/advertisers/{advertisersId}/reachForecast:generateReachForecast",
+"httpMethod": "POST",
+"id": "displayvideo.advertisers.reachForecast.generateReachForecast",
+"parameterOrder": [
+"advertiserId"
+],
+"parameters": {
+"advertiserId": {
+"description": "Required. The ID of the advertiser that will run the planned campaign.",
+"format": "int64",
+"location": "path",
+"pattern": "^[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v4/advertisers/{+advertiserId}/reachForecast:generateReachForecast",
+"request": {
+"$ref": "GenerateReachForecastRequest"
+},
+"response": {
+"$ref": "GenerateReachForecastResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/display-video"
+]
+},
+"retrievePlannableLocations": {
+"description": "Retrieves the list of countries where reach forecasting is supported.",
+"flatPath": "v4/advertisers/{advertisersId}/reachForecast:retrievePlannableLocations",
+"httpMethod": "GET",
+"id": "displayvideo.advertisers.reachForecast.retrievePlannableLocations",
+"parameterOrder": [
+"advertiserId"
+],
+"parameters": {
+"advertiserId": {
+"description": "Required. The ID of the advertiser to list plannable locations for.",
+"format": "int64",
+"location": "path",
+"pattern": "^[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v4/advertisers/{+advertiserId}/reachForecast:retrievePlannableLocations",
+"response": {
+"$ref": "RetrievePlannableLocationsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/display-video"
+]
+},
+"retrievePlannableProducts": {
+"description": "Retrieves the list of products that can be planned for a location.",
+"flatPath": "v4/advertisers/{advertisersId}/reachForecast:retrievePlannableProducts",
+"httpMethod": "GET",
+"id": "displayvideo.advertisers.reachForecast.retrievePlannableProducts",
+"parameterOrder": [
+"advertiserId"
+],
+"parameters": {
+"advertiserId": {
+"description": "Required. The ID of the advertiser to list plannable products for.",
+"format": "int64",
+"location": "path",
+"pattern": "^[^/]+$",
+"required": true,
+"type": "string"
+},
+"plannableLocationId": {
+"description": "Required. The ID of the plannable location.",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v4/advertisers/{+advertiserId}/reachForecast:retrievePlannableProducts",
+"response": {
+"$ref": "RetrievePlannableProductsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/display-video"
+]
+},
+"retrievePlannableUserInterests": {
+"description": "Retrieves Google Audiences (User Interests) available for forecasting.",
+"flatPath": "v4/advertisers/{advertisersId}/reachForecast:retrievePlannableUserInterests",
+"httpMethod": "GET",
+"id": "displayvideo.advertisers.reachForecast.retrievePlannableUserInterests",
+"parameterOrder": [
+"advertiserId"
+],
+"parameters": {
+"advertiserId": {
+"description": "Required. The ID of the advertiser to list plannable user interests for.",
+"format": "int64",
+"location": "path",
+"pattern": "^[^/]+$",
+"required": true,
+"type": "string"
+},
+"productCategory": {
+"description": "Required. The product category to retrieve plannable user interests for.",
+"enum": [
+"PLANNABLE_PRODUCT_CATEGORY_UNSPECIFIED",
+"YOUTUBE",
+"OPEN_AUCTION"
+],
+"enumDescriptions": [
+"Not specified.",
+"YouTube.",
+"Open Auction."
+],
+"location": "query",
+"type": "string"
+}
+},
+"path": "v4/advertisers/{+advertiserId}/reachForecast:retrievePlannableUserInterests",
+"response": {
+"$ref": "RetrievePlannableUserInterestsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/display-video"
+]
+},
+"retrievePlannableUserLists": {
+"description": "Retrieves first and third party user lists available for forecasting.",
+"flatPath": "v4/advertisers/{advertisersId}/reachForecast:retrievePlannableUserLists",
+"httpMethod": "GET",
+"id": "displayvideo.advertisers.reachForecast.retrievePlannableUserLists",
+"parameterOrder": [
+"advertiserId"
+],
+"parameters": {
+"advertiserId": {
+"description": "Required. The ID of the advertiser to retrieve plannable user lists for.",
+"format": "int64",
+"location": "path",
+"pattern": "^[^/]+$",
+"required": true,
+"type": "string"
+},
+"filter": {
+"description": "Optional. Allows filtering by plannable user list properties. Supported syntax: * Filter expressions are made up of one or more restrictions. * Restrictions can be combined by `AND` or `OR` logical operators. * A restriction has the form of `{field} {operator} {value}`. * The `updateTime` field must use the `GREATER THAN OR EQUAL TO (>=)` or `LESS THAN OR EQUAL TO (<=)` operators. * All other fields must use the `EQUALS (=)` operator. Supported fields: * `plannableStatus` Examples: * All plannable user lists: `plannableStatus=\"PLANNABLE\"` The length of this field should be no more than 500 characters. Reference our [filter `LIST` requests](/display-video/api/guides/how-tos/filters) guide for more information.",
+"location": "query",
+"type": "string"
+},
+"pageSize": {
+"description": "Optional. Requested page size. Must be between `1` and `5000`. If unspecified will default to `5000`.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. A token identifying a page of results the server should return. Typically, this is the value of next_page_token returned from the previous call to `RetrievePlannableUserLists` method. If not specified, the first page of results will be returned.",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v4/advertisers/{+advertiserId}/reachForecast:retrievePlannableUserLists",
+"response": {
+"$ref": "RetrievePlannableUserListsResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/display-video"
+]
+}
+}
+},
 "targetingTypes": {
 "resources": {
 "assignedTargetingOptions": {
@@ -9401,7 +9574,7 @@
 }
 }
 },
-"revision": "20260617",
+"revision": "20260623",
 "rootUrl": "https://displayvideo.googleapis.com/",
 "schemas": {
 "ActiveViewVideoViewabilityMetricConfig": {
@@ -10734,6 +10907,169 @@
 },
 "type": "object"
 },
+"AdvancedProductTargeting": {
+"description": "Product-specific targeting overrides.",
+"id": "AdvancedProductTargeting",
+"properties": {
+"ageRange": {
+"description": "Optional. The age range to target.",
+"enum": [
+"PLANNABLE_AGE_RANGE_UNSPECIFIED",
+"PLANNABLE_AGE_RANGE_18_24",
+"PLANNABLE_AGE_RANGE_18_34",
+"PLANNABLE_AGE_RANGE_18_44",
+"PLANNABLE_AGE_RANGE_18_49",
+"PLANNABLE_AGE_RANGE_18_54",
+"PLANNABLE_AGE_RANGE_18_64",
+"PLANNABLE_AGE_RANGE_18_65_UP",
+"PLANNABLE_AGE_RANGE_21_34",
+"PLANNABLE_AGE_RANGE_21_44",
+"PLANNABLE_AGE_RANGE_21_49",
+"PLANNABLE_AGE_RANGE_21_54",
+"PLANNABLE_AGE_RANGE_21_64",
+"PLANNABLE_AGE_RANGE_21_65_UP",
+"PLANNABLE_AGE_RANGE_25_34",
+"PLANNABLE_AGE_RANGE_25_44",
+"PLANNABLE_AGE_RANGE_25_49",
+"PLANNABLE_AGE_RANGE_25_54",
+"PLANNABLE_AGE_RANGE_25_64",
+"PLANNABLE_AGE_RANGE_25_65_UP",
+"PLANNABLE_AGE_RANGE_35_44",
+"PLANNABLE_AGE_RANGE_35_49",
+"PLANNABLE_AGE_RANGE_35_54",
+"PLANNABLE_AGE_RANGE_35_64",
+"PLANNABLE_AGE_RANGE_35_65_UP",
+"PLANNABLE_AGE_RANGE_45_54",
+"PLANNABLE_AGE_RANGE_45_64",
+"PLANNABLE_AGE_RANGE_45_65_UP",
+"PLANNABLE_AGE_RANGE_50_65_UP",
+"PLANNABLE_AGE_RANGE_55_64",
+"PLANNABLE_AGE_RANGE_55_65_UP",
+"PLANNABLE_AGE_RANGE_65_UP"
+],
+"enumDescriptions": [
+"Not specified.",
+"18 to 24 years old.",
+"18 to 34 years old.",
+"18 to 44 years old.",
+"18 to 49 years old.",
+"18 to 54 years old.",
+"18 to 64 years old.",
+"18 to 65+ years old.",
+"21 to 34 years old.",
+"21 to 44 years old.",
+"21 to 49 years old.",
+"21 to 54 years old.",
+"21 to 64 years old.",
+"21 to 65+ years old.",
+"25 to 34 years old.",
+"25 to 44 years old.",
+"25 to 49 years old.",
+"25 to 54 years old.",
+"25 to 64 years old.",
+"25 to 65+ years old.",
+"35 to 44 years old.",
+"35 to 49 years old.",
+"35 to 54 years old.",
+"35 to 64 years old.",
+"35 to 65+ years old.",
+"45 to 54 years old.",
+"45 to 64 years old.",
+"45 to 65+ years old.",
+"50 to 65+ years old.",
+"55 to 64 years old.",
+"55 to 65+ years old.",
+"65+ years old."
+],
+"type": "string"
+},
+"dateRange": {
+"$ref": "DateRange",
+"description": "Optional. The date range to target."
+},
+"devices": {
+"description": "Optional. The devices to target.",
+"items": {
+"enum": [
+"DEVICE_TYPE_UNSPECIFIED",
+"DEVICE_TYPE_COMPUTER",
+"DEVICE_TYPE_CONNECTED_TV",
+"DEVICE_TYPE_SMART_PHONE",
+"DEVICE_TYPE_TABLET",
+"DEVICE_TYPE_CONNECTED_DEVICE"
+],
+"enumDescriptions": [
+"Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.",
+"Computer.",
+"Connected TV.",
+"Smart phone.",
+"Tablet.",
+"Connected device."
+],
+"type": "string"
+},
+"type": "array"
+},
+"frequencyCap": {
+"$ref": "FrequencyCap",
+"description": "Optional. The frequency cap for the specific product."
+},
+"genders": {
+"description": "Optional. The gender options to target.",
+"items": {
+"enum": [
+"GENDER_UNSPECIFIED",
+"GENDER_MALE",
+"GENDER_FEMALE",
+"GENDER_UNKNOWN"
+],
+"enumDescriptions": [
+"Default value when gender is not specified in this version. This enum is a place holder for default value and does not represent a real gender option.",
+"The audience gender is male.",
+"The audience gender is female.",
+"The audience gender is unknown."
+],
+"type": "string"
+},
+"type": "array"
+},
+"plannableLocationIds": {
+"description": "Optional. Plannable location IDs to target.",
+"items": {
+"format": "int64",
+"type": "string"
+},
+"type": "array"
+},
+"surfaceTargetingSettings": {
+"$ref": "SurfaceTargetingSettings",
+"description": "Optional. Plannable surfaces to target."
+},
+"targetFrequency": {
+"$ref": "TargetFrequency",
+"description": "Optional. The average number of times the ads will show to the same person over a certain period of time."
+},
+"userInterestIds": {
+"description": "Optional. The user interest IDs to target. Plannable user interests can be retrieved using the `RetrievePlannableUserInterests` method.",
+"items": {
+"type": "string"
+},
+"type": "array"
+},
+"userListIds": {
+"description": "Optional. The user list IDs to target. Plannable user lists can be retrieved using the `RetrievePlannableUserInterests` method.",
+"items": {
+"type": "string"
+},
+"type": "array"
+},
+"youtubeSelectSettings": {
+"$ref": "YouTubeSelectSettings",
+"description": "Optional. YouTube Select settings."
+}
+},
+"type": "object"
+},
 "Advertiser": {
 "description": "A single advertiser in Display & Video 360 (DV360).",
 "id": "Advertiser",
@@ -13446,6 +13782,22 @@
 },
 "type": "object"
 },
+"CampaignDuration": {
+"description": "The duration of the reach plan.",
+"id": "CampaignDuration",
+"properties": {
+"dateRange": {
+"$ref": "DateRange",
+"description": "Required. The date range the plan covers."
+},
+"durationDays": {
+"description": "Required. The number of days the plan covers.",
+"format": "int32",
+"type": "integer"
+}
+},
+"type": "object"
+},
 "CampaignFlight": {
 "description": "Settings that track the planned spend and duration of a campaign.",
 "id": "CampaignFlight",
@@ -16833,6 +17185,38 @@
 },
 "type": "object"
 },
+"EffectiveFrequencyBreakdown": {
+"description": "A breakdown of the number of unique people reached at a given effective frequency.",
+"id": "EffectiveFrequencyBreakdown",
+"properties": {
+"effectiveCoviewReach": {
+"description": "The number of unique individuals, including co-viewers, exactly matching the targeting that were served the ad at least the number of times dictated by the effective_frequency.",
+"format": "int64",
+"type": "string"
+},
+"effectiveFrequency": {
+"description": "The set effective frequency.",
+"format": "int32",
+"type": "integer"
+},
+"onTargetEffectiveCoviewReach": {
+"description": "The total number of unique individuals, including co-viewers that were served the ad at least the number of times dictated by the effective_frequency. This includes individuals that may fall outside of targeting.",
+"format": "int64",
+"type": "string"
+},
+"onTargetReach": {
+"description": "The number of unique individuals exactly matching the targeting that were served the ad at least the number of times dictated by the effective_frequency.",
+"format": "int64",
+"type": "string"
+},
+"totalReach": {
+"description": "The total number of unique individuals that were served the ad at least the number of times dictated by the effective_frequency. This includes individuals that may fall outside of targeting.",
+"format": "int64",
+"type": "string"
+}
+},
+"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); }",
 "id": "Empty",
@@ -18240,6 +18624,57 @@
 },
 "type": "object"
 },
+"GenerateReachForecastRequest": {
+"description": "Request message for ReachForecastService.GenerateReachForecast.",
+"id": "GenerateReachForecastRequest",
+"properties": {
+"campaignDuration": {
+"$ref": "CampaignDuration",
+"description": "Required. The duration of the planned campaign."
+},
+"currencyCode": {
+"description": "Required. The currency code for the plan in ISO 4217 format.",
+"type": "string"
+},
+"effectiveFrequencyBreakdownLimit": {
+"description": "Optional. The highest minimum effective frequency to include in PlannedProductForecast.effective_frequency_breakdowns. Must be between 1 and 10, inclusive. If not specified, PlannedProductForecast.effective_frequency_breakdowns will not be populated. If set, this value will also be used as the minimum effective frequency for reach metrics reporting. This field cannot be combined with the min_effective_frequency field.",
+"format": "int32",
+"type": "integer"
+},
+"minEffectiveFrequency": {
+"description": "Optional. The minimum effective frequency for the reported reach metrics. This is the smallest number of times a customer must be exposed to the ad for it to be considered effective. This setting only impacts reporting. Must be between 1 and 10, inclusive. If not specified, a default of 1 is applied. This field cannot be combined with effective_frequency_breakdown_limit.",
+"format": "int32",
+"type": "integer"
+},
+"plannedProducts": {
+"description": "Required. The list of line items to include in the forecast.",
+"items": {
+"$ref": "PlannedProduct"
+},
+"type": "array"
+},
+"targeting": {
+"$ref": "Targeting",
+"description": "Required. The targeting parameters of the planned campaign."
+}
+},
+"type": "object"
+},
+"GenerateReachForecastResponse": {
+"description": "Response message for ReachForecastService.GenerateReachForecast.",
+"id": "GenerateReachForecastResponse",
+"properties": {
+"onTargetAudienceMetrics": {
+"$ref": "OnTargetAudienceMetrics",
+"description": "The estimated audience sizes for the targeted geography."
+},
+"reachCurve": {
+"$ref": "ReachCurve",
+"description": "The generated forecast curve."
+}
+},
+"type": "object"
+},
 "GeoRegionAssignedTargetingOptionDetails": {
 "description": "Details for assigned geographic region targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_GEO_REGION`.",
 "id": "GeoRegionAssignedTargetingOptionDetails",
@@ -21777,6 +22212,23 @@
 },
 "type": "object"
 },
+"OnTargetAudienceMetrics": {
+"description": "Estimated audience sizes for a targeted geography.",
+"id": "OnTargetAudienceMetrics",
+"properties": {
+"censusAudienceSize": {
+"description": "Size of the audience based on the census data of the targeted geography.",
+"format": "int64",
+"type": "string"
+},
+"youtubeAudienceSize": {
+"description": "Estimated size of the YouTube audience.",
+"format": "int64",
+"type": "string"
+}
+},
+"type": "object"
+},
 "OperatingSystemAssignedTargetingOptionDetails": {
 "description": "Assigned operating system targeting option details. This will be populated in the operating_system_details field when targeting_type is `TARGETING_TYPE_OPERATING_SYSTEM`.",
 "id": "OperatingSystemAssignedTargetingOptionDetails",
@@ -22378,6 +22830,441 @@
 },
 "type": "object"
 },
+"PlannableLocation": {
+"description": "A plannable location used for forecasting.",
+"id": "PlannableLocation",
+"properties": {
+"displayName": {
+"description": "Output only. The display name of the location, for example \"Algeria\".",
+"readOnly": true,
+"type": "string"
+},
+"geoRegionType": {
+"description": "Output only. The type of location.",
+"enum": [
+"GEO_REGION_TYPE_UNKNOWN",
+"GEO_REGION_TYPE_OTHER",
+"GEO_REGION_TYPE_COUNTRY",
+"GEO_REGION_TYPE_REGION",
+"GEO_REGION_TYPE_TERRITORY",
+"GEO_REGION_TYPE_PROVINCE",
+"GEO_REGION_TYPE_STATE",
+"GEO_REGION_TYPE_PREFECTURE",
+"GEO_REGION_TYPE_GOVERNORATE",
+"GEO_REGION_TYPE_CANTON",
+"GEO_REGION_TYPE_UNION_TERRITORY",
+"GEO_REGION_TYPE_AUTONOMOUS_COMMUNITY",
+"GEO_REGION_TYPE_DMA_REGION",
+"GEO_REGION_TYPE_METRO",
+"GEO_REGION_TYPE_CONGRESSIONAL_DISTRICT",
+"GEO_REGION_TYPE_COUNTY",
+"GEO_REGION_TYPE_MUNICIPALITY",
+"GEO_REGION_TYPE_CITY",
+"GEO_REGION_TYPE_POSTAL_CODE",
+"GEO_REGION_TYPE_DEPARTMENT",
+"GEO_REGION_TYPE_AIRPORT",
+"GEO_REGION_TYPE_TV_REGION",
+"GEO_REGION_TYPE_OKRUG",
+"GEO_REGION_TYPE_BOROUGH",
+"GEO_REGION_TYPE_CITY_REGION",
+"GEO_REGION_TYPE_ARRONDISSEMENT",
+"GEO_REGION_TYPE_NEIGHBORHOOD",
+"GEO_REGION_TYPE_UNIVERSITY",
+"GEO_REGION_TYPE_DISTRICT",
+"GEO_REGION_TYPE_NATIONAL_PARK",
+"GEO_REGION_TYPE_BARRIO",
+"GEO_REGION_TYPE_SUB_WARD",
+"GEO_REGION_TYPE_MUNICIPALITY_DISTRICT",
+"GEO_REGION_TYPE_SUB_DISTRICT",
+"GEO_REGION_TYPE_QUARTER",
+"GEO_REGION_TYPE_DIVISION",
+"GEO_REGION_TYPE_COMMUNE",
+"GEO_REGION_TYPE_COLLOQUIAL_AREA",
+"GEO_REGION_TYPE_POST_TOWN",
+"GEO_REGION_TYPE_WARD"
+],
+"enumDescriptions": [
+"The geographic region type is unknown.",
+"The geographic region type is other.",
+"The geographic region is a country.",
+"The geographic region type is region.",
+"The geographic region is a territory.",
+"The geographic region is a province.",
+"The geographic region is a state.",
+"The geographic region is a prefecture.",
+"The geographic region is a governorate.",
+"The geographic region is a canton.",
+"The geographic region is a union territory.",
+"The geographic region is an autonomous community.",
+"The geographic region is a designated market area (DMA) region.",
+"The geographic region type is metro.",
+"The geographic region is a congressional district.",
+"The geographic region is a county.",
+"The geographic region is a municipality.",
+"The geographic region is a city.",
+"The geographic region targeting type is postal code.",
+"The geographic region targeting type is department.",
+"The geographic region is an airport.",
+"The geographic region is a TV region.",
+"The geographic region is an okrug.",
+"The geographic region is a borough.",
+"The geographic region is a city region.",
+"The geographic region is an arrondissement.",
+"The geographic region is a neighborhood.",
+"The geographic region is a university.",
+"The geographic region is a district.",
+"The geographic region is a national park.",
+"The geographic region is a barrio.",
+"The geographic region is a sub ward.",
+"The geographic region is a municipality district.",
+"The geographic region is a sub district.",
+"The geographic region is a quarter.",
+"The geographic region is a division.",
+"The geographic region is a commune.",
+"The geographic region is a colloquial area.",
+"The geographic region is a post town.",
+"The geographic region is a ward."
+],
+"readOnly": true,
+"type": "string"
+},
+"name": {
+"description": "Output only. The resource name of the plannable location.",
+"readOnly": true,
+"type": "string"
+},
+"plannableLocationId": {
+"description": "Output only. The plannable location ID.",
+"format": "int64",
+"readOnly": true,
+"type": "string"
+},
+"regionCode": {
+"description": "Output only. The region code of the location, for example \"DZ\" for Algeria.",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"PlannableTargeting": {
+"description": "Targeting capabilities for a given product.",
+"id": "PlannableTargeting",
+"properties": {
+"ageRanges": {
+"description": "Output only. Allowed plannable age ranges for the product. Actual targeting is computed by mapping this age range onto standard Google age targeting.",
+"items": {
+"enum": [
+"PLANNABLE_AGE_RANGE_UNSPECIFIED",
+"PLANNABLE_AGE_RANGE_18_24",
+"PLANNABLE_AGE_RANGE_18_34",
+"PLANNABLE_AGE_RANGE_18_44",
+"PLANNABLE_AGE_RANGE_18_49",
+"PLANNABLE_AGE_RANGE_18_54",
+"PLANNABLE_AGE_RANGE_18_64",
+"PLANNABLE_AGE_RANGE_18_65_UP",
+"PLANNABLE_AGE_RANGE_21_34",
+"PLANNABLE_AGE_RANGE_21_44",
+"PLANNABLE_AGE_RANGE_21_49",
+"PLANNABLE_AGE_RANGE_21_54",
+"PLANNABLE_AGE_RANGE_21_64",
+"PLANNABLE_AGE_RANGE_21_65_UP",
+"PLANNABLE_AGE_RANGE_25_34",
+"PLANNABLE_AGE_RANGE_25_44",
+"PLANNABLE_AGE_RANGE_25_49",
+"PLANNABLE_AGE_RANGE_25_54",
+"PLANNABLE_AGE_RANGE_25_64",
+"PLANNABLE_AGE_RANGE_25_65_UP",
+"PLANNABLE_AGE_RANGE_35_44",
+"PLANNABLE_AGE_RANGE_35_49",
+"PLANNABLE_AGE_RANGE_35_54",
+"PLANNABLE_AGE_RANGE_35_64",
+"PLANNABLE_AGE_RANGE_35_65_UP",
+"PLANNABLE_AGE_RANGE_45_54",
+"PLANNABLE_AGE_RANGE_45_64",
+"PLANNABLE_AGE_RANGE_45_65_UP",
+"PLANNABLE_AGE_RANGE_50_65_UP",
+"PLANNABLE_AGE_RANGE_55_64",
+"PLANNABLE_AGE_RANGE_55_65_UP",
+"PLANNABLE_AGE_RANGE_65_UP"
+],
+"enumDescriptions": [
+"Not specified.",
+"18 to 24 years old.",
+"18 to 34 years old.",
+"18 to 44 years old.",
+"18 to 49 years old.",
+"18 to 54 years old.",
+"18 to 64 years old.",
+"18 to 65+ years old.",
+"21 to 34 years old.",
+"21 to 44 years old.",
+"21 to 49 years old.",
+"21 to 54 years old.",
+"21 to 64 years old.",
+"21 to 65+ years old.",
+"25 to 34 years old.",
+"25 to 44 years old.",
+"25 to 49 years old.",
+"25 to 54 years old.",
+"25 to 64 years old.",
+"25 to 65+ years old.",
+"35 to 44 years old.",
+"35 to 49 years old.",
+"35 to 54 years old.",
+"35 to 64 years old.",
+"35 to 65+ years old.",
+"45 to 54 years old.",
+"45 to 64 years old.",
+"45 to 65+ years old.",
+"50 to 65+ years old.",
+"55 to 64 years old.",
+"55 to 65+ years old.",
+"65+ years old."
+],
+"type": "string"
+},
+"readOnly": true,
+"type": "array"
+},
+"devices": {
+"description": "Output only. Targetable devices for the ad product.",
+"items": {
+"enum": [
+"DEVICE_TYPE_UNSPECIFIED",
+"DEVICE_TYPE_COMPUTER",
+"DEVICE_TYPE_CONNECTED_TV",
+"DEVICE_TYPE_SMART_PHONE",
+"DEVICE_TYPE_TABLET",
+"DEVICE_TYPE_CONNECTED_DEVICE"
+],
+"enumDescriptions": [
+"Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.",
+"Computer.",
+"Connected TV.",
+"Smart phone.",
+"Tablet.",
+"Connected device."
+],
+"type": "string"
+},
+"readOnly": true,
+"type": "array"
+},
+"genders": {
+"description": "Output only. Targetable genders for the ad product.",
+"items": {
+"enum": [
+"GENDER_UNSPECIFIED",
+"GENDER_MALE",
+"GENDER_FEMALE",
+"GENDER_UNKNOWN"
+],
+"enumDescriptions": [
+"Default value when gender is not specified in this version. This enum is a place holder for default value and does not represent a real gender option.",
+"The audience gender is male.",
+"The audience gender is female.",
+"The audience gender is unknown."
+],
+"type": "string"
+},
+"readOnly": true,
+"type": "array"
+},
+"networks": {
+"description": "Output only. Targetable networks for the ad product.",
+"items": {
+"enum": [
+"PLANNABLE_NETWORK_UNSPECIFIED",
+"PLANNABLE_NETWORK_YOUTUBE",
+"PLANNABLE_NETWORK_GOOGLE_VIDEO_PARTNERS",
+"PLANNABLE_NETWORK_YOUTUBE_AND_GOOGLE_VIDEO_PARTNERS"
+],
+"enumDescriptions": [
+"Not specified.",
+"YouTube.",
+"Google Video Partners.",
+"YouTube and Google Video Partners."
+],
+"type": "string"
+},
+"readOnly": true,
+"type": "array"
+},
+"surfaceTargetingCombinations": {
+"$ref": "SurfaceTargetingCombinations",
+"description": "Output only. Targetable surface combinations for the ad product.",
+"readOnly": true
+},
+"youtubeSelectLineups": {
+"description": "Output only. Targetable YouTube Select Lineups for the ad product.",
+"items": {
+"$ref": "YouTubeSelectLineUp"
+},
+"readOnly": true,
+"type": "array"
+}
+},
+"type": "object"
+},
+"PlannableUserInterest": {
+"description": "A plannable user interest used for targeting.",
+"id": "PlannableUserInterest",
+"properties": {
+"userInterest": {
+"$ref": "UserInterest",
+"description": "Output only. The identifier for the user interest. The product_category specified in the request dictates the field populated in the object. * user_interest_category is populated for \"Youtube\". * user_interest_user_list is populated for \"Open Auction\".",
+"readOnly": true
+},
+"userInterestDisplayName": {
+"description": "Output only. The display name of the interest, for example \"Outdoor Enthusiasts\".",
+"readOnly": true,
+"type": "string"
+},
+"userInterestPath": {
+"description": "Output only. The category path of the interest.",
+"readOnly": true,
+"type": "string"
+},
+"userInterestType": {
+"description": "Output only. The type of audience, e.g., \"AFFINITY\", \"IN_MARKET\".",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"PlannableUserList": {
+"description": "A plannable user list used for reach forecasting.",
+"id": "PlannableUserList",
+"properties": {
+"displayName": {
+"description": "Output only. The display name of the user list.",
+"readOnly": true,
+"type": "string"
+},
+"name": {
+"description": "Output only. The resource name identifying the user list. Format: `advertisers/{advertiser_id}/userLists/{user_list_id}`",
+"readOnly": true,
+"type": "string"
+},
+"plannableStatus": {
+"description": "Output only. The plannability status of the user list.",
+"enum": [
+"PLANNABLE_STATUS_UNSPECIFIED",
+"PLANNABLE",
+"UNPLANNABLE"
+],
+"enumDescriptions": [
+"Unspecified plannability status.",
+"The user list is plannable.",
+"The user list is unplannable."
+],
+"readOnly": true,
+"type": "string"
+},
+"userListType": {
+"description": "Output only. The type of the user list.",
+"enum": [
+"USER_LIST_TYPE_UNSPECIFIED",
+"FIRST_PARTY",
+"THIRD_PARTY"
+],
+"enumDescriptions": [
+"Unspecified user list type.",
+"A first-party user list.",
+"A third-party user list."
+],
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"PlannedProduct": {
+"description": "Configuration for a specific product in the plan.",
+"id": "PlannedProduct",
+"properties": {
+"advancedProductTargeting": {
+"$ref": "AdvancedProductTargeting",
+"description": "Optional. Optional line item level targeting overrides."
+},
+"budgetMicros": {
+"description": "Required. The budget for this product in micros.",
+"format": "int64",
+"type": "string"
+},
+"plannableProductCode": {
+"description": "Required. The code for the product, e.g. \"VIDEO_REACH_CAMPAIGN\".",
+"type": "string"
+}
+},
+"type": "object"
+},
+"PlannedProductForecast": {
+"description": "Performance metrics for a forecast point.",
+"id": "PlannedProductForecast",
+"properties": {
+"effectiveFrequencyBreakdowns": {
+"description": "A list of effective frequency breakdowns.",
+"items": {
+"$ref": "EffectiveFrequencyBreakdown"
+},
+"type": "array"
+},
+"onTargetImpressions": {
+"description": "Number of on-target impressions.",
+"format": "int64",
+"type": "string"
+},
+"onTargetReach": {
+"description": "Number of unique people reached that match the on-target definition.",
+"format": "int64",
+"type": "string"
+},
+"totalImpressions": {
+"description": "Total number of impressions.",
+"format": "int64",
+"type": "string"
+},
+"totalReach": {
+"description": "Total number of unique people reached.",
+"format": "int64",
+"type": "string"
+},
+"trueviewViews": {
+"description": "Number of TrueView views.",
+"format": "int64",
+"type": "string"
+},
+"viewableImpressions": {
+"description": "Number of viewable impressions.",
+"format": "int64",
+"type": "string"
+}
+},
+"type": "object"
+},
+"PlannedProductReachForecast": {
+"description": "Performance forecast for a specific product.",
+"id": "PlannedProductReachForecast",
+"properties": {
+"costMicros": {
+"description": "The cost in micros for this product.",
+"format": "int64",
+"type": "string"
+},
+"plannableProductCode": {
+"description": "The code for the product.",
+"type": "string"
+},
+"plannedProductForecast": {
+"$ref": "PlannedProductForecast",
+"description": "Performance metrics for the product."
+}
+},
+"type": "object"
+},
 "PoiAssignedTargetingOptionDetails": {
 "description": "Details for assigned POI targeting option. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_POI`.",
 "id": "PoiAssignedTargetingOptionDetails",
@@ -22565,6 +23452,33 @@
 },
 "type": "object"
 },
+"ProductMetadata": {
+"description": "Metadata for a plannable product.",
+"id": "ProductMetadata",
+"properties": {
+"displayName": {
+"description": "Output only. The name associated with the ad product. For example: \"Video View Campaign\".",
+"readOnly": true,
+"type": "string"
+},
+"plannableProductCode": {
+"description": "Output only. The plannable product code (e.g. \"YOUTUBE_REACH_MIX\").",
+"readOnly": true,
+"type": "string"
+},
+"plannableProductDescription": {
+"description": "Output only. The plain-text description of the ad product.",
+"readOnly": true,
+"type": "string"
+},
+"plannableTargeting": {
+"$ref": "PlannableTargeting",
+"description": "Output only. The targeting capabilities available for this product.",
+"readOnly": true
+}
+},
+"type": "object"
+},
 "ProximityLocationListAssignedTargetingOptionDetails": {
 "description": "Targeting details for proximity location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_PROXIMITY_LOCATION_LIST`.",
 "id": "ProximityLocationListAssignedTargetingOptionDetails",
@@ -22637,6 +23551,43 @@
 },
 "type": "object"
 },
+"ReachCurve": {
+"description": "The generated reach curve.",
+"id": "ReachCurve",
+"properties": {
+"reachForecasts": {
+"description": "Points along the curve, ordered by cost.",
+"items": {
+"$ref": "ReachForecast"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"ReachForecast": {
+"description": "A single point in the reach curve.",
+"id": "ReachForecast",
+"properties": {
+"costMicros": {
+"description": "Total cost for this point in micros.",
+"format": "int64",
+"type": "string"
+},
+"forecast": {
+"$ref": "PlannedProductForecast",
+"description": "Aggregate forecast for the entire plan."
+},
+"plannedProductReachForecasts": {
+"description": "Breakdown for individual products at this cost point.",
+"items": {
+"$ref": "PlannedProductReachForecast"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
 "RegionalLocationListAssignedTargetingOptionDetails": {
 "description": "Targeting details for regional location list. This will be populated in the details field of an AssignedTargetingOption when targeting_type is `TARGETING_TYPE_REGIONAL_LOCATION_LIST`.",
 "id": "RegionalLocationListAssignedTargetingOptionDetails",
@@ -22737,6 +23688,70 @@
 },
 "type": "object"
 },
+"RetrievePlannableLocationsResponse": {
+"description": "Response for RetrievePlannableLocations",
+"id": "RetrievePlannableLocationsResponse",
+"properties": {
+"plannableLocations": {
+"description": "Output only. The list of plannable locations.",
+"items": {
+"$ref": "PlannableLocation"
+},
+"readOnly": true,
+"type": "array"
+}
+},
+"type": "object"
+},
+"RetrievePlannableProductsResponse": {
+"description": "Response for RetrievePlannableProducts",
+"id": "RetrievePlannableProductsResponse",
+"properties": {
+"productMetadata": {
+"description": "Output only. The list of product metadata showing targeting possibilities.",
+"items": {
+"$ref": "ProductMetadata"
+},
+"readOnly": true,
+"type": "array"
+}
+},
+"type": "object"
+},
+"RetrievePlannableUserInterestsResponse": {
+"description": "Response for RetrievePlannableUserInterests.",
+"id": "RetrievePlannableUserInterestsResponse",
+"properties": {
+"plannableUserInterests": {
+"description": "The list of plannable user interests (Google Audiences).",
+"items": {
+"$ref": "PlannableUserInterest"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"RetrievePlannableUserListsResponse": {
+"description": "Response for RetrievePlannableUserLists.",
+"id": "RetrievePlannableUserListsResponse",
+"properties": {
+"nextPageToken": {
+"description": "Output only. A token to retrieve the next page of results.",
+"readOnly": true,
+"type": "string"
+},
+"plannableUserLists": {
+"description": "Output only. The list of plannable user lists.",
+"items": {
+"$ref": "PlannableUserList"
+},
+"readOnly": true,
+"type": "array"
+}
+},
+"type": "object"
+},
 "ReviewStatusInfo": {
 "description": "Review statuses for the creative.",
 "id": "ReviewStatusInfo",
@@ -23295,6 +24310,130 @@
 },
 "type": "object"
 },
+"SurfaceTargetingCombination": {
+"description": "A valid combination of surfaces.",
+"id": "SurfaceTargetingCombination",
+"properties": {
+"choices": {
+"description": "Output only. The combination of surfaces.",
+"items": {
+"enum": [
+"PLANNABLE_SURFACE_UNSPECIFIED",
+"PLANNABLE_SURFACE_IN_FEED",
+"PLANNABLE_SURFACE_IN_STREAM_BUMPER",
+"PLANNABLE_SURFACE_IN_STREAM_NON_SKIPPABLE",
+"PLANNABLE_SURFACE_IN_STREAM_SKIPPABLE",
+"PLANNABLE_SURFACE_SHORTS",
+"PLANNABLE_SURFACE_DISCOVER_FEED",
+"PLANNABLE_SURFACE_GMAIL",
+"PLANNABLE_SURFACE_GOOGLE_DISPLAY_NETWORK",
+"PLANNABLE_SURFACE_IN_STREAM_NON_SKIPPABLE_THIRTY_SECONDS"
+],
+"enumDescriptions": [
+"Not specified.",
+"In-feed.",
+"In-stream bumper.",
+"In-stream non-skippable.",
+"In-stream skippable.",
+"Shorts.",
+"Discover feed.",
+"Gmail.",
+"Google Display Network.",
+"In-stream non-skippable (30 seconds)."
+],
+"type": "string"
+},
+"readOnly": true,
+"type": "array"
+}
+},
+"type": "object"
+},
+"SurfaceTargetingCombinations": {
+"description": "Surface targeting rules.",
+"id": "SurfaceTargetingCombinations",
+"properties": {
+"availableSurfaceTypes": {
+"description": "Output only. The surface types available.",
+"items": {
+"enum": [
+"PLANNABLE_SURFACE_UNSPECIFIED",
+"PLANNABLE_SURFACE_IN_FEED",
+"PLANNABLE_SURFACE_IN_STREAM_BUMPER",
+"PLANNABLE_SURFACE_IN_STREAM_NON_SKIPPABLE",
+"PLANNABLE_SURFACE_IN_STREAM_SKIPPABLE",
+"PLANNABLE_SURFACE_SHORTS",
+"PLANNABLE_SURFACE_DISCOVER_FEED",
+"PLANNABLE_SURFACE_GMAIL",
+"PLANNABLE_SURFACE_GOOGLE_DISPLAY_NETWORK",
+"PLANNABLE_SURFACE_IN_STREAM_NON_SKIPPABLE_THIRTY_SECONDS"
+],
+"enumDescriptions": [
+"Not specified.",
+"In-feed.",
+"In-stream bumper.",
+"In-stream non-skippable.",
+"In-stream skippable.",
+"Shorts.",
+"Discover feed.",
+"Gmail.",
+"Google Display Network.",
+"In-stream non-skippable (30 seconds)."
+],
+"type": "string"
+},
+"readOnly": true,
+"type": "array"
+},
+"validSurfaceCombinations": {
+"description": "Output only. Valid combinations of surfaces that can be selected together.",
+"items": {
+"$ref": "SurfaceTargetingCombination"
+},
+"readOnly": true,
+"type": "array"
+}
+},
+"type": "object"
+},
+"SurfaceTargetingSettings": {
+"description": "Surface targeting selection.",
+"id": "SurfaceTargetingSettings",
+"properties": {
+"surfaces": {
+"description": "Optional. The surfaces to target.",
+"items": {
+"enum": [
+"PLANNABLE_SURFACE_UNSPECIFIED",
+"PLANNABLE_SURFACE_IN_FEED",
+"PLANNABLE_SURFACE_IN_STREAM_BUMPER",
+"PLANNABLE_SURFACE_IN_STREAM_NON_SKIPPABLE",
+"PLANNABLE_SURFACE_IN_STREAM_SKIPPABLE",
+"PLANNABLE_SURFACE_SHORTS",
+"PLANNABLE_SURFACE_DISCOVER_FEED",
+"PLANNABLE_SURFACE_GMAIL",
+"PLANNABLE_SURFACE_GOOGLE_DISPLAY_NETWORK",
+"PLANNABLE_SURFACE_IN_STREAM_NON_SKIPPABLE_THIRTY_SECONDS"
+],
+"enumDescriptions": [
+"Not specified.",
+"In-feed.",
+"In-stream bumper.",
+"In-stream non-skippable.",
+"In-stream skippable.",
+"Shorts.",
+"Discover feed.",
+"Gmail.",
+"Google Display Network.",
+"In-stream non-skippable (30 seconds)."
+],
+"type": "string"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
 "TargetFrequency": {
 "description": "Setting that controls the average number of times the ads will show to the same person over a certain period of time.",
 "id": "TargetFrequency",
@@ -23343,6 +24482,135 @@
 },
 "type": "object"
 },
+"Targeting": {
+"description": "Targeting settings for a planned campaign.",
+"id": "Targeting",
+"properties": {
+"ageRange": {
+"description": "Optional. The age range to target.",
+"enum": [
+"PLANNABLE_AGE_RANGE_UNSPECIFIED",
+"PLANNABLE_AGE_RANGE_18_24",
+"PLANNABLE_AGE_RANGE_18_34",
+"PLANNABLE_AGE_RANGE_18_44",
+"PLANNABLE_AGE_RANGE_18_49",
+"PLANNABLE_AGE_RANGE_18_54",
+"PLANNABLE_AGE_RANGE_18_64",
+"PLANNABLE_AGE_RANGE_18_65_UP",
+"PLANNABLE_AGE_RANGE_21_34",
+"PLANNABLE_AGE_RANGE_21_44",
+"PLANNABLE_AGE_RANGE_21_49",
+"PLANNABLE_AGE_RANGE_21_54",
+"PLANNABLE_AGE_RANGE_21_64",
+"PLANNABLE_AGE_RANGE_21_65_UP",
+"PLANNABLE_AGE_RANGE_25_34",
+"PLANNABLE_AGE_RANGE_25_44",
+"PLANNABLE_AGE_RANGE_25_49",
+"PLANNABLE_AGE_RANGE_25_54",
+"PLANNABLE_AGE_RANGE_25_64",
+"PLANNABLE_AGE_RANGE_25_65_UP",
+"PLANNABLE_AGE_RANGE_35_44",
+"PLANNABLE_AGE_RANGE_35_49",
+"PLANNABLE_AGE_RANGE_35_54",
+"PLANNABLE_AGE_RANGE_35_64",
+"PLANNABLE_AGE_RANGE_35_65_UP",
+"PLANNABLE_AGE_RANGE_45_54",
+"PLANNABLE_AGE_RANGE_45_64",
+"PLANNABLE_AGE_RANGE_45_65_UP",
+"PLANNABLE_AGE_RANGE_50_65_UP",
+"PLANNABLE_AGE_RANGE_55_64",
+"PLANNABLE_AGE_RANGE_55_65_UP",
+"PLANNABLE_AGE_RANGE_65_UP"
+],
+"enumDescriptions": [
+"Not specified.",
+"18 to 24 years old.",
+"18 to 34 years old.",
+"18 to 44 years old.",
+"18 to 49 years old.",
+"18 to 54 years old.",
+"18 to 64 years old.",
+"18 to 65+ years old.",
+"21 to 34 years old.",
+"21 to 44 years old.",
+"21 to 49 years old.",
+"21 to 54 years old.",
+"21 to 64 years old.",
+"21 to 65+ years old.",
+"25 to 34 years old.",
+"25 to 44 years old.",
+"25 to 49 years old.",
+"25 to 54 years old.",
+"25 to 64 years old.",
+"25 to 65+ years old.",
+"35 to 44 years old.",
+"35 to 49 years old.",
+"35 to 54 years old.",
+"35 to 64 years old.",
+"35 to 65+ years old.",
+"45 to 54 years old.",
+"45 to 64 years old.",
+"45 to 65+ years old.",
+"50 to 65+ years old.",
+"55 to 64 years old.",
+"55 to 65+ years old.",
+"65+ years old."
+],
+"type": "string"
+},
+"devices": {
+"description": "Optional. The devices to target.",
+"items": {
+"enum": [
+"DEVICE_TYPE_UNSPECIFIED",
+"DEVICE_TYPE_COMPUTER",
+"DEVICE_TYPE_CONNECTED_TV",
+"DEVICE_TYPE_SMART_PHONE",
+"DEVICE_TYPE_TABLET",
+"DEVICE_TYPE_CONNECTED_DEVICE"
+],
+"enumDescriptions": [
+"Default value when device type is not specified in this version. This enum is a placeholder for default value and does not represent a real device type option.",
+"Computer.",
+"Connected TV.",
+"Smart phone.",
+"Tablet.",
+"Connected device."
+],
+"type": "string"
+},
+"type": "array"
+},
+"genders": {
+"description": "Optional. The gender options to target.",
+"items": {
+"enum": [
+"GENDER_UNSPECIFIED",
+"GENDER_MALE",
+"GENDER_FEMALE",
+"GENDER_UNKNOWN"
+],
+"enumDescriptions": [
+"Default value when gender is not specified in this version. This enum is a place holder for default value and does not represent a real gender option.",
+"The audience gender is male.",
+"The audience gender is female.",
+"The audience gender is unknown."
+],
+"type": "string"
+},
+"type": "array"
+},
+"plannableLocationIds": {
+"description": "Required. IDs of plannable locations to target. Plannable locations can be retrieved using the `RetrievePlannableLocations` method.",
+"items": {
+"format": "int64",
+"type": "string"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
 "TargetingExpansionConfig": {
 "description": "Settings that control the [optimized targeting](//support.google.com/displayvideo/answer/12060859) settings of the line item.",
 "id": "TargetingExpansionConfig",
@@ -24046,6 +25314,23 @@
 },
 "type": "object"
 },
+"UserInterest": {
+"description": "The identifier for a user interest.",
+"id": "UserInterest",
+"properties": {
+"userInterestCategory": {
+"description": "Output only. The resource name of the interest category. Populated when `product_category` is \"Youtube\". Format: customers/{customer_id}/userInterests/{user_interest_id}",
+"readOnly": true,
+"type": "string"
+},
+"userInterestUserList": {
+"description": "Output only. The resource name of the user list. Populated when `product_category` is \"Open Auction\". Format: customers/{customer_id}/userLists/{user_list_id}",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
 "UserRewardedContentAssignedTargetingOptionDetails": {
 "description": "User rewarded content targeting option details. This will be populated in the user_rewarded_content_details field when targeting_type is `TARGETING_TYPE_USER_REWARDED_CONTENT`.",
 "id": "UserRewardedContentAssignedTargetingOptionDetails",
@@ -24424,6 +25709,36 @@
 },
 "type": "object"
 },
+"YouTubeSelectLineUp": {
+"description": "A Plannable YouTube Select Lineup for product targeting.",
+"id": "YouTubeSelectLineUp",
+"properties": {
+"displayName": {
+"description": "Output only. The display name of the YouTube Select Lineup.",
+"readOnly": true,
+"type": "string"
+},
+"lineupId": {
+"description": "Output only. The ID of the YouTube Select Lineup.",
+"format": "int64",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"YouTubeSelectSettings": {
+"description": "Settings for YouTube Select Lineups.",
+"id": "YouTubeSelectSettings",
+"properties": {
+"lineupId": {
+"description": "Optional. The ID of the YouTube Select Lineup.",
+"format": "int64",
+"type": "string"
+}
+},
+"type": "object"
+},
 "YoutubeAndPartnersBiddingStrategy": {
 "description": "Settings that control the bid strategy for YouTube and Partners resources.",
 "id": "YoutubeAndPartnersBiddingStrategy",
diff --git a/googleapiclient/discovery_cache/documents/dlp.v2.json b/googleapiclient/discovery_cache/documents/dlp.v2.json
index 4eb9fbe..9a6a167 100644
--- a/googleapiclient/discovery_cache/documents/dlp.v2.json
+++ b/googleapiclient/discovery_cache/documents/dlp.v2.json
@@ -5274,7 +5274,7 @@
 }
 }
 },
-"revision": "20260606",
+"revision": "20260620",
 "rootUrl": "https://dlp.googleapis.com/",
 "schemas": {
 "GooglePrivacyDlpV2Action": {
@@ -6767,6 +6767,13 @@
 "description": "Metadata on content to be scanned.",
 "id": "GooglePrivacyDlpV2ContentMetadata",
 "properties": {
+"fileLabels": {
+"description": "Optional. The file labels associated with the content.",
+"items": {
+"$ref": "GooglePrivacyDlpV2FileLabel"
+},
+"type": "array"
+},
 "properties": {
 "description": "User provided key-value pairs of content metadata.",
 "items": {
@@ -7173,6 +7180,10 @@
 ],
 "type": "string"
 },
+"fileLabelInfoType": {
+"$ref": "GooglePrivacyDlpV2FileLabelInfoType",
+"description": "File label to detect."
+},
 "infoType": {
 "$ref": "GooglePrivacyDlpV2InfoType",
 "description": "CustomInfoType can either be a new infoType, or an extension of built-in infoType, when the name matches one of existing infoTypes and that infoType is specified in `InspectContent.info_types` field. Specifying the latter adds findings to the one detected by the system. If built-in info type is not specified in `InspectContent.info_types` list then the name is treated as a custom info type."
@@ -9147,6 +9158,36 @@
 },
 "type": "object"
 },
+"GooglePrivacyDlpV2FileLabel": {
+"description": "Represents a file label.",
+"id": "GooglePrivacyDlpV2FileLabel",
+"properties": {
+"googleDriveLabel": {
+"$ref": "GooglePrivacyDlpV2GoogleDriveLabelMetadata",
+"description": "Google Drive labels published by Google."
+},
+"sensitivityLabel": {
+"$ref": "GooglePrivacyDlpV2SensitivityLabelMetadata",
+"description": "Sensitivity labels published by Microsoft."
+}
+},
+"type": "object"
+},
+"GooglePrivacyDlpV2FileLabelInfoType": {
+"description": "Configuration for a custom infoType that detects file labels.",
+"id": "GooglePrivacyDlpV2FileLabelInfoType",
+"properties": {
+"googleDriveLabel": {
+"$ref": "GooglePrivacyDlpV2GoogleDriveLabel",
+"description": "Google Drive labels published by Google."
+},
+"sensitivityLabel": {
+"$ref": "GooglePrivacyDlpV2SensitivityLabel",
+"description": "Sensitivity labels published by Microsoft."
+}
+},
+"type": "object"
+},
 "GooglePrivacyDlpV2FileSet": {
 "description": "Set of files to scan.",
 "id": "GooglePrivacyDlpV2FileSet",
@@ -9519,6 +9560,42 @@
 "properties": {},
 "type": "object"
 },
+"GooglePrivacyDlpV2GoogleDriveLabel": {
+"description": "Google Drive labels published by Google.",
+"id": "GooglePrivacyDlpV2GoogleDriveLabel",
+"properties": {
+"labelFieldsToMatch": {
+"description": "The field values of the Google Drive label to match.",
+"items": {
+"$ref": "GooglePrivacyDlpV2LabelField"
+},
+"type": "array"
+},
+"labelId": {
+"description": "The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"GooglePrivacyDlpV2GoogleDriveLabelMetadata": {
+"description": "Google Drive labels published by Google.",
+"id": "GooglePrivacyDlpV2GoogleDriveLabelMetadata",
+"properties": {
+"labelFields": {
+"description": "The field values of the Google Drive label",
+"items": {
+"$ref": "GooglePrivacyDlpV2LabelFieldMetadata"
+},
+"type": "array"
+},
+"labelId": {
+"description": "The [label ID](https://developers.google.com/workspace/drive/labels/guides/overview) of the Google Drive label.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GooglePrivacyDlpV2HotwordRule": {
 "description": "The rule that adjusts the likelihood of findings within a certain proximity of hotwords.",
 "id": "GooglePrivacyDlpV2HotwordRule",
@@ -10856,6 +10933,36 @@
 },
 "type": "object"
 },
+"GooglePrivacyDlpV2LabelField": {
+"description": "The field values of the Google Drive label to match.",
+"id": "GooglePrivacyDlpV2LabelField",
+"properties": {
+"id": {
+"description": "The identifier of the Label Field.",
+"type": "string"
+},
+"value": {
+"description": "The value of the Label Field to match.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"GooglePrivacyDlpV2LabelFieldMetadata": {
+"description": "The field values of the Google Drive label",
+"id": "GooglePrivacyDlpV2LabelFieldMetadata",
+"properties": {
+"id": {
+"description": "The identifier of the Label Field.",
+"type": "string"
+},
+"value": {
+"$ref": "GooglePrivacyDlpV2Value",
+"description": "The value of the Label Field."
+}
+},
+"type": "object"
+},
 "GooglePrivacyDlpV2LargeCustomDictionaryConfig": {
 "description": "Configuration for a custom dictionary created from a data source of any size up to the maximum size defined in the [limits](https://cloud.google.com/sensitive-data-protection/limits) page. The artifacts of dictionary creation are stored in the specified Cloud Storage location. Consider using `CustomInfoType.Dictionary` for smaller dictionaries that satisfy the size requirements.",
 "id": "GooglePrivacyDlpV2LargeCustomDictionaryConfig",
@@ -12551,6 +12658,28 @@
 },
 "type": "object"
 },
+"GooglePrivacyDlpV2SensitivityLabel": {
+"description": "Sensitivity labels published by Microsoft.",
+"id": "GooglePrivacyDlpV2SensitivityLabel",
+"properties": {
+"guid": {
+"description": "The GUID of the sensitivity label.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"GooglePrivacyDlpV2SensitivityLabelMetadata": {
+"description": "Sensitivity labels published by Microsoft.",
+"id": "GooglePrivacyDlpV2SensitivityLabelMetadata",
+"properties": {
+"guid": {
+"description": "Required. The GUID of the sensitivity label.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GooglePrivacyDlpV2SensitivityScore": {
 "description": "Score is calculated from of all elements in the data profile. A higher level means the data is more sensitive.",
 "id": "GooglePrivacyDlpV2SensitivityScore",
@@ -12645,7 +12774,8 @@
 "description": "Current version of the stored info type."
 },
 "name": {
-"description": "Resource name.",
+"description": "Output only. Resource name.",
+"readOnly": true,
 "type": "string"
 },
 "pendingVersions": {
@@ -12705,19 +12835,21 @@
 "description": "StoredInfoType configuration."
 },
 "createTime": {
-"description": "Create timestamp of the version. Read-only, determined by the system when the version is created.",
+"description": "Output only. Create timestamp of the version. Read-only, determined by the system when the version is created.",
 "format": "google-datetime",
+"readOnly": true,
 "type": "string"
 },
 "errors": {
-"description": "Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.",
+"description": "Output only. Errors that occurred when creating this storedInfoType version, or anomalies detected in the storedInfoType data that render it unusable. Only the five most recent errors will be displayed, with the most recent error appearing first. For example, some of the data for stored custom dictionaries is put in the user's Cloud Storage bucket, and if this data is modified or deleted by the user or another system, the dictionary becomes invalid. If any errors occur, fix the problem indicated by the error message and use the UpdateStoredInfoType API method to create another version of the storedInfoType to continue using it, reusing the same `config` if it was not the source of the error.",
 "items": {
 "$ref": "GooglePrivacyDlpV2Error"
 },
+"readOnly": true,
 "type": "array"
 },
 "state": {
-"description": "Stored info type version state. Read-only, updated by the system during dictionary creation.",
+"description": "Output only. Stored info type version state. Read-only, updated by the system during dictionary creation.",
 "enum": [
 "STORED_INFO_TYPE_STATE_UNSPECIFIED",
 "PENDING",
@@ -12732,11 +12864,13 @@
 "StoredInfoType creation failed. All relevant error messages are returned in the `StoredInfoTypeVersion` message.",
 "StoredInfoType is no longer valid because artifacts stored in user-controlled storage were modified. To fix an invalid StoredInfoType, use the `UpdateStoredInfoType` method to create a new version."
 ],
+"readOnly": true,
 "type": "string"
 },
 "stats": {
 "$ref": "GooglePrivacyDlpV2StoredInfoTypeStats",
-"description": "Statistics about this storedInfoType version."
+"description": "Output only. Statistics about this storedInfoType version.",
+"readOnly": true
 }
 },
 "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/dns.v1.json b/googleapiclient/discovery_cache/documents/dns.v1.json
index d0f46ba..29c6920 100644
--- a/googleapiclient/discovery_cache/documents/dns.v1.json
+++ b/googleapiclient/discovery_cache/documents/dns.v1.json
@@ -1829,7 +1829,7 @@
 }
 }
 },
-"revision": "20260421",
+"revision": "20260616",
 "rootUrl": "https://dns.googleapis.com/",
 "schemas": {
 "Change": {
@@ -2284,6 +2284,7 @@
 "type": "any"
 },
 "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
+"format": "google.protobuf.Any",
 "type": "object"
 },
 "name": {
@@ -2296,6 +2297,7 @@
 "type": "any"
 },
 "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
+"format": "google.protobuf.Any",
 "type": "object"
 }
 },
@@ -3593,6 +3595,7 @@
 "description": "Properties of the object. Contains field @type with type URL.",
 "type": "any"
 },
+"format": "google.protobuf.Any",
 "type": "object"
 },
 "type": "array"
diff --git a/googleapiclient/discovery_cache/documents/dns.v1beta2.json b/googleapiclient/discovery_cache/documents/dns.v1beta2.json
index e6c21e0..1735a26 100644
--- a/googleapiclient/discovery_cache/documents/dns.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/dns.v1beta2.json
@@ -1826,7 +1826,7 @@
 }
 }
 },
-"revision": "20260421",
+"revision": "20260616",
 "rootUrl": "https://dns.googleapis.com/",
 "schemas": {
 "Change": {
@@ -2281,6 +2281,7 @@
 "type": "any"
 },
 "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.",
+"format": "google.protobuf.Any",
 "type": "object"
 },
 "name": {
@@ -2293,6 +2294,7 @@
 "type": "any"
 },
 "description": "The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.",
+"format": "google.protobuf.Any",
 "type": "object"
 }
 },
@@ -3593,6 +3595,7 @@
 "description": "Properties of the object. Contains field @type with type URL.",
 "type": "any"
 },
+"format": "google.protobuf.Any",
 "type": "object"
 },
 "type": "array"
diff --git a/googleapiclient/discovery_cache/documents/drive.v3.json b/googleapiclient/discovery_cache/documents/drive.v3.json
index bc23c82..8b04756 100644
--- a/googleapiclient/discovery_cache/documents/drive.v3.json
+++ b/googleapiclient/discovery_cache/documents/drive.v3.json
@@ -3038,7 +3038,7 @@
 }
 }
 },
-"revision": "20260428",
+"revision": "20260624",
 "rootUrl": "https://www.googleapis.com/",
 "schemas": {
 "About": {
@@ -4149,6 +4149,10 @@
 "description": "Output only. Whether the current user is the pending owner of the file. Not populated for shared drive files.",
 "type": "boolean"
 },
+"canAccessViaGenAi": {
+"description": "Whether the current user can access this file via Gen AI features.",
+"type": "boolean"
+},
 "canAddChildren": {
 "description": "Output only. Whether the current user can add children to this folder. This is always `false` when the item isn't a folder.",
 "type": "boolean"
diff --git a/googleapiclient/discovery_cache/documents/fcm.v1.json b/googleapiclient/discovery_cache/documents/fcm.v1.json
index af0b40d..2b52e03 100644
--- a/googleapiclient/discovery_cache/documents/fcm.v1.json
+++ b/googleapiclient/discovery_cache/documents/fcm.v1.json
@@ -146,7 +146,7 @@
 }
 }
 },
-"revision": "20260605",
+"revision": "20260619",
 "rootUrl": "https://fcm.googleapis.com/",
 "schemas": {
 "AndroidConfig": {
@@ -479,7 +479,7 @@
 "description": "Required. Set `color` of the LED with [google.type.Color](https://github.com/googleapis/googleapis/blob/master/google/type/color.proto)."
 },
 "lightOffDuration": {
-"description": "Required. Along with `light_on_duration `, define the blink rate of LED flashes. Resolution defined by [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)",
+"description": "Required. Along with `light_on_duration`, define the blink rate of LED flashes. Resolution defined by [proto.Duration](https://developers.google.com/protocol-buffers/docs/reference/google.protobuf#google.protobuf.Duration)",
 "format": "google-duration",
 "type": "string"
 },
@@ -519,7 +519,7 @@
 "description": "Input only. Template for FCM SDK feature options to use across all platforms."
 },
 "fid": {
-"description": "Optional. Firebase Installation ID to send a message to.",
+"description": "Firebase Installation ID to send a message to.",
 "type": "string"
 },
 "name": {
diff --git a/googleapiclient/discovery_cache/documents/file.v1beta1.json b/googleapiclient/discovery_cache/documents/file.v1beta1.json
index 992ef14..17837bb 100644
--- a/googleapiclient/discovery_cache/documents/file.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/file.v1beta1.json
@@ -1130,15 +1130,106 @@
 ]
 }
 }
+},
+"sharePools": {
+"methods": {
+"acquireShare": {
+"description": "Acquires a share synchronously from the pre-provisioned share pool.",
+"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/sharePools/{sharePoolsId}:acquireShare",
+"httpMethod": "POST",
+"id": "file.projects.locations.sharePools.acquireShare",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"parent": {
+"description": "Required. The parent share pool path, in the format `projects/{project}/locations/{location}/sharePools/{share_pool}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/sharePools/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1beta1/{+parent}:acquireShare",
+"request": {
+"$ref": "AcquireShareRequest"
+},
+"response": {
+"$ref": "AcquireShareResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
+"releaseShare": {
+"description": "Releases a share synchronously, marking it for background scrubbing.",
+"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/sharePools/{sharePoolsId}:releaseShare",
+"httpMethod": "POST",
+"id": "file.projects.locations.sharePools.releaseShare",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"parent": {
+"description": "Required. The parent share pool path, in the format `projects/{project}/locations/{location}/sharePools/{share_pool}`.",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/sharePools/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1beta1/{+parent}:releaseShare",
+"request": {
+"$ref": "ReleaseShareRequest"
+},
+"response": {
+"$ref": "ReleaseShareResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+}
+}
 }
 }
 }
 }
 }
 },
-"revision": "20260422",
+"revision": "20260612",
 "rootUrl": "https://file.googleapis.com/",
 "schemas": {
+"AcquireShareRequest": {
+"description": "Request message for AcquireShare.",
+"id": "AcquireShareRequest",
+"properties": {
+"capacityGb": {
+"description": "Required. Requested size of the share in GiB.",
+"format": "int32",
+"type": "integer"
+},
+"requestId": {
+"description": "Required. Unique string generated by the CSI driver for exact retry idempotency.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"AcquireShareResponse": {
+"description": "Output message for AcquireShare.",
+"id": "AcquireShareResponse",
+"properties": {
+"ipAddress": {
+"description": "The IP address of the physical Filestore instance hosting the share.",
+"type": "string"
+},
+"shareId": {
+"description": "The specific share identifier on the instance.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "Backup": {
 "description": "A Filestore backup.",
 "id": "Backup",
@@ -2513,6 +2604,27 @@
 },
 "type": "object"
 },
+"ReleaseShareRequest": {
+"description": "Request message for ReleaseShare.",
+"id": "ReleaseShareRequest",
+"properties": {
+"ipAddress": {
+"description": "Required. The IP address of the physical Filestore instance hosting the share.",
+"type": "string"
+},
+"shareId": {
+"description": "Required. The specific share ID on the instance.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"ReleaseShareResponse": {
+"description": "Response message for ReleaseShare.",
+"id": "ReleaseShareResponse",
+"properties": {},
+"type": "object"
+},
 "ReplicaConfig": {
 "description": "Replica configuration for the instance.",
 "id": "ReplicaConfig",
diff --git a/googleapiclient/discovery_cache/documents/firebaseapphosting.v1beta.json b/googleapiclient/discovery_cache/documents/firebaseapphosting.v1beta.json
index 889cc4e..4af4ca7 100644
--- a/googleapiclient/discovery_cache/documents/firebaseapphosting.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/firebaseapphosting.v1beta.json
@@ -1138,7 +1138,7 @@
 }
 }
 },
-"revision": "20260514",
+"revision": "20260618",
 "rootUrl": "https://firebaseapphosting.googleapis.com/",
 "schemas": {
 "ArchiveSource": {
@@ -1464,6 +1464,10 @@
 "container": {
 "$ref": "ContainerSource",
 "description": "An Artifact Registry container image source."
+},
+"locallyBuilt": {
+"$ref": "LocallyBuiltSource",
+"description": "A source that was pre-built locally."
 }
 },
 "type": "object"
@@ -2362,6 +2366,40 @@
 },
 "type": "object"
 },
+"LocallyBuiltSource": {
+"description": "The URI of an storage archive to use as the build source.",
+"id": "LocallyBuiltSource",
+"properties": {
+"description": {
+"description": "Optional. An optional message that describes the uploaded version of the source code.",
+"type": "string"
+},
+"env": {
+"description": "Optional. Supplied runtime environment variables for a specific build. Provided at Build creation time and immutable afterwards.",
+"items": {
+"$ref": "EnvironmentVariable"
+},
+"type": "array"
+},
+"rootDirectory": {
+"description": "Optional. The directory relative to the root of the archive to use as the root for the deployed web app. Defaults to use the root of the repository if not provided. If deploying a [monorepo](https://firebase.google.com/docs/app-hosting/monorepos), this should be the directory that contains the built source of the app.",
+"type": "string"
+},
+"runCommand": {
+"description": "Optional. The command to run to start the app. If provided, it will override apphosting's default run commands. See [`Override build and run scripts`](https://firebase.google.com/docs/app-hosting/configure#override-scripts)",
+"type": "string"
+},
+"runConfig": {
+"$ref": "RunConfig",
+"description": "Optional. Additional configuration of the Cloud Run [`service`](https://cloud.google.com/run/docs/reference/rest/v2/projects.locations.services#resource:-service)."
+},
+"userStorageUri": {
+"description": "URI to an archive in Cloud Storage. The object must be a gzipped archive file (.tar.gz) containing source to deploy.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "Location": {
 "description": "A resource that represents a Google Cloud location.",
 "id": "Location",
diff --git a/googleapiclient/discovery_cache/documents/firebaseml.v2beta.json b/googleapiclient/discovery_cache/documents/firebaseml.v2beta.json
index bf5d8da..90e0d97 100644
--- a/googleapiclient/discovery_cache/documents/firebaseml.v2beta.json
+++ b/googleapiclient/discovery_cache/documents/firebaseml.v2beta.json
@@ -206,7 +206,7 @@
 }
 }
 },
-"revision": "20260612",
+"revision": "20260620",
 "rootUrl": "https://firebaseml.googleapis.com/",
 "schemas": {
 "Date": {
@@ -3226,6 +3226,10 @@
 },
 "description": "Optional. Custom configs for ParallelAiSearch. This field can be used to pass any parameter from the Parallel.ai Search API. See the Parallel.ai documentation for the full list of available parameters and their usage: https://docs.parallel.ai/api-reference/search-beta/search Currently only `source_policy`, `excerpts`, `max_results`, `mode`, `fetch_policy` can be set via this field. For example: { \"source_policy\": { \"include_domains\": [\"google.com\", \"wikipedia.org\"], \"exclude_domains\": [\"example.com\"] }, \"fetch_policy\": { \"max_age_seconds\": 3600 } }",
 "type": "object"
+},
+"enableDataRetention": {
+"description": "Optional. Instructs Vertex Grounding to use Parallel's Zero Data Retention Marketplace product. If this value is \"false\" or omitted, the Parallel Web Search for Grounding standard subscription will be used. If this value is \"true\", the Parallel Web Search for Grounding - ZDR subscription will be used.",
+"type": "boolean"
 }
 },
 "type": "object"
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1.json b/googleapiclient/discovery_cache/documents/gkehub.v1.json
index 56997f0..c242343 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1.json
@@ -2596,7 +2596,7 @@
 }
 }
 },
-"revision": "20260616",
+"revision": "20260623",
 "rootUrl": "https://gkehub.googleapis.com/",
 "schemas": {
 "AppDevExperienceFeatureSpec": {
@@ -3070,6 +3070,10 @@
 "$ref": "FleetObservabilityFeatureSpec",
 "description": "FleetObservability feature spec."
 },
+"mesh": {
+"$ref": "ServiceMeshFeatureSpec",
+"description": "Servicemesh feature spec."
+},
 "multiclusteringress": {
 "$ref": "MultiClusterIngressFeatureSpec",
 "description": "Multicluster Ingress-specific spec."
@@ -6831,8 +6835,8 @@
 "enum": [
 "ROLLOUT_INTENT_UNSPECIFIED",
 "REGULAR_UPGRADE",
-"FORCE_PATCH",
-"END_OF_LIFE_ENFORCEMENT"
+"CONTROL_PLANE_PATCH_ENFORCEMENT",
+"END_OF_SUPPORT_ENFORCEMENT"
 ],
 "enumDescriptions": [
 "The default value.",
@@ -7443,6 +7447,9 @@
 "MISSING_CONTROL_PLANE_CONFIG",
 "SHARED_VPC_MISSING_PERMISSIONS",
 "REQUIRED_ORG_POLICY_DISABLED",
+"MODERNIZATION_INCOMPATIBLE_POD_ANNOTATION",
+"MODERNIZATION_INCOMPATIBLE_CONFIG",
+"MODERNIZATION_INCOMPATIBLE_GATEWAY_POD_SCALE",
 "MODERNIZATION_SCHEDULED",
 "MODERNIZATION_IN_PROGRESS",
 "MODERNIZATION_COMPLETED",
@@ -7506,6 +7513,9 @@
 "Missing control plane configuration error code",
 "Shared VPC missing permissions error code",
 "Required org policy disabled error code",
+"One or more Pods have unsupported annotations.",
+"Incompatible config found in the cluster.",
+"Gateway pods per cluster limit exceeded.",
 "Modernization is scheduled for a cluster.",
 "Modernization is in progress for a cluster.",
 "Modernization is completed for a cluster.",
@@ -7653,6 +7663,27 @@
 },
 "type": "object"
 },
+"ServiceMeshFeatureSpec": {
+"description": "**Service Mesh**: Spec for the fleet for the servicemesh feature",
+"id": "ServiceMeshFeatureSpec",
+"properties": {
+"modernizationCompatibility": {
+"description": "Optional. Specifies modernization compatibility for the fleet.",
+"enum": [
+"MODERNIZATION_COMPATIBILITY_UNSPECIFIED",
+"VALIDATION_ENABLED",
+"VALIDATION_DISABLED"
+],
+"enumDescriptions": [
+"Unspecified.",
+"Google should report modernization eligibility gaps.",
+"Google should not report modernization eligibility gaps."
+],
+"type": "string"
+}
+},
+"type": "object"
+},
 "ServiceMeshMembershipSpec": {
 "description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature",
 "id": "ServiceMeshMembershipSpec",
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
index 0956102..9c94048 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1alpha.json
@@ -2740,7 +2740,7 @@
 }
 }
 },
-"revision": "20260616",
+"revision": "20260623",
 "rootUrl": "https://gkehub.googleapis.com/",
 "schemas": {
 "AppDevExperienceFeatureSpec": {
@@ -3329,6 +3329,10 @@
 "$ref": "FleetObservabilityFeatureSpec",
 "description": "FleetObservability feature spec."
 },
+"mesh": {
+"$ref": "ServiceMeshFeatureSpec",
+"description": "Servicemesh feature spec."
+},
 "multiclusteringress": {
 "$ref": "MultiClusterIngressFeatureSpec",
 "description": "Multicluster Ingress-specific spec."
@@ -7348,8 +7352,8 @@
 "enum": [
 "ROLLOUT_INTENT_UNSPECIFIED",
 "REGULAR_UPGRADE",
-"FORCE_PATCH",
-"END_OF_LIFE_ENFORCEMENT"
+"CONTROL_PLANE_PATCH_ENFORCEMENT",
+"END_OF_SUPPORT_ENFORCEMENT"
 ],
 "enumDescriptions": [
 "The default value.",
@@ -8030,6 +8034,9 @@
 "MISSING_CONTROL_PLANE_CONFIG",
 "SHARED_VPC_MISSING_PERMISSIONS",
 "REQUIRED_ORG_POLICY_DISABLED",
+"MODERNIZATION_INCOMPATIBLE_POD_ANNOTATION",
+"MODERNIZATION_INCOMPATIBLE_CONFIG",
+"MODERNIZATION_INCOMPATIBLE_GATEWAY_POD_SCALE",
 "MODERNIZATION_SCHEDULED",
 "MODERNIZATION_IN_PROGRESS",
 "MODERNIZATION_COMPLETED",
@@ -8093,6 +8100,9 @@
 "Missing control plane configuration error code",
 "Shared VPC missing permissions error code",
 "Required org policy disabled error code",
+"One or more Pods have unsupported annotations.",
+"Incompatible config found in the cluster.",
+"Gateway pods per cluster limit exceeded.",
 "Modernization is scheduled for a cluster.",
 "Modernization is in progress for a cluster.",
 "Modernization is completed for a cluster.",
@@ -8288,6 +8298,9 @@
 "MISSING_CONTROL_PLANE_CONFIG",
 "SHARED_VPC_MISSING_PERMISSIONS",
 "REQUIRED_ORG_POLICY_DISABLED",
+"MODERNIZATION_INCOMPATIBLE_POD_ANNOTATION",
+"MODERNIZATION_INCOMPATIBLE_CONFIG",
+"MODERNIZATION_INCOMPATIBLE_GATEWAY_POD_SCALE",
 "MODERNIZATION_SCHEDULED",
 "MODERNIZATION_IN_PROGRESS",
 "MODERNIZATION_COMPLETED",
@@ -8351,6 +8364,9 @@
 "Missing control plane configuration error code.",
 "Shared VPC missing permissions error code.",
 "Required org policy disabled error code.",
+"One or more Pods have unsupported annotations.",
+"Incompatible config found in the cluster.",
+"Gateway pods per cluster limit exceeded.",
 "Modernization is scheduled for a cluster.",
 "Modernization is in progress for a cluster.",
 "Modernization is completed for a cluster.",
@@ -8401,6 +8417,27 @@
 },
 "type": "object"
 },
+"ServiceMeshFeatureSpec": {
+"description": "**Service Mesh**: Spec for the fleet for the servicemesh feature",
+"id": "ServiceMeshFeatureSpec",
+"properties": {
+"modernizationCompatibility": {
+"description": "Optional. Specifies modernization compatibility for the fleet.",
+"enum": [
+"MODERNIZATION_COMPATIBILITY_UNSPECIFIED",
+"VALIDATION_ENABLED",
+"VALIDATION_DISABLED"
+],
+"enumDescriptions": [
+"Unspecified.",
+"Google should report modernization eligibility gaps.",
+"Google should not report modernization eligibility gaps."
+],
+"type": "string"
+}
+},
+"type": "object"
+},
 "ServiceMeshFeatureState": {
 "description": "**Service Mesh**: State for the whole Hub, as analyzed by the Service Mesh Hub Controller.",
 "id": "ServiceMeshFeatureState",
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
index 0a5d3db..d410457 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v1beta.json
@@ -2596,7 +2596,7 @@
 }
 }
 },
-"revision": "20260616",
+"revision": "20260623",
 "rootUrl": "https://gkehub.googleapis.com/",
 "schemas": {
 "AppDevExperienceFeatureSpec": {
@@ -3070,6 +3070,10 @@
 "$ref": "FleetObservabilityFeatureSpec",
 "description": "FleetObservability feature spec."
 },
+"mesh": {
+"$ref": "ServiceMeshFeatureSpec",
+"description": "Servicemesh feature spec."
+},
 "multiclusteringress": {
 "$ref": "MultiClusterIngressFeatureSpec",
 "description": "Multicluster Ingress-specific spec."
@@ -6957,8 +6961,8 @@
 "enum": [
 "ROLLOUT_INTENT_UNSPECIFIED",
 "REGULAR_UPGRADE",
-"FORCE_PATCH",
-"END_OF_LIFE_ENFORCEMENT"
+"CONTROL_PLANE_PATCH_ENFORCEMENT",
+"END_OF_SUPPORT_ENFORCEMENT"
 ],
 "enumDescriptions": [
 "The default value.",
@@ -7569,6 +7573,9 @@
 "MISSING_CONTROL_PLANE_CONFIG",
 "SHARED_VPC_MISSING_PERMISSIONS",
 "REQUIRED_ORG_POLICY_DISABLED",
+"MODERNIZATION_INCOMPATIBLE_POD_ANNOTATION",
+"MODERNIZATION_INCOMPATIBLE_CONFIG",
+"MODERNIZATION_INCOMPATIBLE_GATEWAY_POD_SCALE",
 "MODERNIZATION_SCHEDULED",
 "MODERNIZATION_IN_PROGRESS",
 "MODERNIZATION_COMPLETED",
@@ -7632,6 +7639,9 @@
 "Missing control plane configuration error code",
 "Shared VPC missing permissions error code",
 "Required org policy disabled error code",
+"One or more Pods have unsupported annotations.",
+"Incompatible config found in the cluster.",
+"Gateway pods per cluster limit exceeded.",
 "Modernization is scheduled for a cluster.",
 "Modernization is in progress for a cluster.",
 "Modernization is completed for a cluster.",
@@ -7779,6 +7789,27 @@
 },
 "type": "object"
 },
+"ServiceMeshFeatureSpec": {
+"description": "**Service Mesh**: Spec for the fleet for the servicemesh feature",
+"id": "ServiceMeshFeatureSpec",
+"properties": {
+"modernizationCompatibility": {
+"description": "Optional. Specifies modernization compatibility for the fleet.",
+"enum": [
+"MODERNIZATION_COMPATIBILITY_UNSPECIFIED",
+"VALIDATION_ENABLED",
+"VALIDATION_DISABLED"
+],
+"enumDescriptions": [
+"Unspecified.",
+"Google should report modernization eligibility gaps.",
+"Google should not report modernization eligibility gaps."
+],
+"type": "string"
+}
+},
+"type": "object"
+},
 "ServiceMeshMembershipSpec": {
 "description": "**Service Mesh**: Spec for a single Membership for the servicemesh feature",
 "id": "ServiceMeshMembershipSpec",
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v2.json b/googleapiclient/discovery_cache/documents/gkehub.v2.json
index f9c6833..93b5b83 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v2.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v2.json
@@ -554,7 +554,7 @@
 }
 }
 },
-"revision": "20260616",
+"revision": "20260623",
 "rootUrl": "https://gkehub.googleapis.com/",
 "schemas": {
 "AppDevExperienceState": {
@@ -3157,6 +3157,9 @@
 "MISSING_CONTROL_PLANE_CONFIG",
 "SHARED_VPC_MISSING_PERMISSIONS",
 "REQUIRED_ORG_POLICY_DISABLED",
+"MODERNIZATION_INCOMPATIBLE_POD_ANNOTATION",
+"MODERNIZATION_INCOMPATIBLE_CONFIG",
+"MODERNIZATION_INCOMPATIBLE_GATEWAY_POD_SCALE",
 "MODERNIZATION_SCHEDULED",
 "MODERNIZATION_IN_PROGRESS",
 "MODERNIZATION_COMPLETED",
@@ -3220,6 +3223,9 @@
 "Missing control plane configuration error code",
 "Shared VPC missing permissions error code",
 "Required org policy disabled error code",
+"One or more Pods have unsupported annotations.",
+"Incompatible config found in the cluster.",
+"Gateway pods per cluster limit exceeded.",
 "Modernization is scheduled for a cluster.",
 "Modernization is in progress for a cluster.",
 "Modernization is completed for a cluster.",
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json b/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json
index 04d79e9..f7b963d 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v2alpha.json
@@ -554,7 +554,7 @@
 }
 }
 },
-"revision": "20260616",
+"revision": "20260623",
 "rootUrl": "https://gkehub.googleapis.com/",
 "schemas": {
 "AppDevExperienceState": {
@@ -3157,6 +3157,9 @@
 "MISSING_CONTROL_PLANE_CONFIG",
 "SHARED_VPC_MISSING_PERMISSIONS",
 "REQUIRED_ORG_POLICY_DISABLED",
+"MODERNIZATION_INCOMPATIBLE_POD_ANNOTATION",
+"MODERNIZATION_INCOMPATIBLE_CONFIG",
+"MODERNIZATION_INCOMPATIBLE_GATEWAY_POD_SCALE",
 "MODERNIZATION_SCHEDULED",
 "MODERNIZATION_IN_PROGRESS",
 "MODERNIZATION_COMPLETED",
@@ -3220,6 +3223,9 @@
 "Missing control plane configuration error code",
 "Shared VPC missing permissions error code",
 "Required org policy disabled error code",
+"One or more Pods have unsupported annotations.",
+"Incompatible config found in the cluster.",
+"Gateway pods per cluster limit exceeded.",
 "Modernization is scheduled for a cluster.",
 "Modernization is in progress for a cluster.",
 "Modernization is completed for a cluster.",
diff --git a/googleapiclient/discovery_cache/documents/gkehub.v2beta.json b/googleapiclient/discovery_cache/documents/gkehub.v2beta.json
index f0abc00..1bb0975 100644
--- a/googleapiclient/discovery_cache/documents/gkehub.v2beta.json
+++ b/googleapiclient/discovery_cache/documents/gkehub.v2beta.json
@@ -554,7 +554,7 @@
 }
 }
 },
-"revision": "20260616",
+"revision": "20260623",
 "rootUrl": "https://gkehub.googleapis.com/",
 "schemas": {
 "AppDevExperienceState": {
@@ -3157,6 +3157,9 @@
 "MISSING_CONTROL_PLANE_CONFIG",
 "SHARED_VPC_MISSING_PERMISSIONS",
 "REQUIRED_ORG_POLICY_DISABLED",
+"MODERNIZATION_INCOMPATIBLE_POD_ANNOTATION",
+"MODERNIZATION_INCOMPATIBLE_CONFIG",
+"MODERNIZATION_INCOMPATIBLE_GATEWAY_POD_SCALE",
 "MODERNIZATION_SCHEDULED",
 "MODERNIZATION_IN_PROGRESS",
 "MODERNIZATION_COMPLETED",
@@ -3220,6 +3223,9 @@
 "Missing control plane configuration error code",
 "Shared VPC missing permissions error code",
 "Required org policy disabled error code",
+"One or more Pods have unsupported annotations.",
+"Incompatible config found in the cluster.",
+"Gateway pods per cluster limit exceeded.",
 "Modernization is scheduled for a cluster.",
 "Modernization is in progress for a cluster.",
 "Modernization is completed for a cluster.",
diff --git a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v2.json b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v2.json
index 8e91744..34453b8 100644
--- a/googleapiclient/discovery_cache/documents/gmailpostmastertools.v2.json
+++ b/googleapiclient/discovery_cache/documents/gmailpostmastertools.v2.json
@@ -10,6 +10,9 @@
 },
 "https://www.googleapis.com/auth/postmaster.traffic.readonly": {
 "description": "Get email traffic metrics for the domains you have registered with Postmaster Tools"
+},
+"https://www.googleapis.com/auth/postmaster.user": {
+"description": "View and manage users for the domains you have registered with Postmaster Tools"
 }
 }
 }
@@ -136,6 +139,51 @@
 },
 "domains": {
 "methods": {
+"create": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Adds a domain to the user's account. Returns INVALID_ARGUMENT if a domain is not provided. Returns ALREADY_EXISTS if the domain is already registered by the user.",
+"flatPath": "v2/domains",
+"httpMethod": "POST",
+"id": "gmailpostmastertools.domains.create",
+"parameterOrder": [],
+"parameters": {},
+"path": "v2/domains",
+"request": {
+"$ref": "CreateDomainRequest"
+},
+"response": {
+"$ref": "Domain"
+},
+"scopes": [
+"https://www.googleapis.com/auth/postmaster",
+"https://www.googleapis.com/auth/postmaster.domain"
+]
+},
+"delete": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Deletes a domain from the user's account. Returns NOT_FOUND if the domain is not registered by the user.",
+"flatPath": "v2/domains/{domainsId}",
+"httpMethod": "DELETE",
+"id": "gmailpostmastertools.domains.delete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The domain to delete.",
+"location": "path",
+"pattern": "^domains/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v2/{+name}",
+"response": {
+"$ref": "Empty"
+},
+"scopes": [
+"https://www.googleapis.com/auth/postmaster",
+"https://www.googleapis.com/auth/postmaster.domain"
+]
+},
 "get": {
 "description": "Retrieves detailed information about a domain registered by you. Returns NOT_FOUND if the domain is not registered by you. Domain represents the metadata of a domain that has been registered within the system and linked to a user.",
 "flatPath": "v2/domains/{domainsId}",
@@ -188,6 +236,47 @@
 "https://www.googleapis.com/auth/postmaster.traffic.readonly"
 ]
 },
+"getVerificationToken": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Gets a verification token used for verifying a user's ownership over a domain.",
+"flatPath": "v2/domains/{domainsId}/verificationToken",
+"httpMethod": "GET",
+"id": "gmailpostmastertools.domains.getVerificationToken",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the verification token to retrieve. Format: `domains/{domain}/verificationToken`",
+"location": "path",
+"pattern": "^domains/[^/]+/verificationToken$",
+"required": true,
+"type": "string"
+},
+"verificationMethod": {
+"description": "Required. The verification method used. Must be specified, i.e. TXT or CNAME.",
+"enum": [
+"DOMAIN_VERIFICATION_METHOD_UNSPECIFIED",
+"TXT",
+"CNAME"
+],
+"enumDescriptions": [
+"Unspecified.",
+"Generate a DNS TXT verification token.",
+"Generate a DNS CNAME verification token."
+],
+"location": "query",
+"type": "string"
+}
+},
+"path": "v2/{+name}",
+"response": {
+"$ref": "DomainVerificationToken"
+},
+"scopes": [
+"https://www.googleapis.com/auth/postmaster",
+"https://www.googleapis.com/auth/postmaster.domain"
+]
+},
 "list": {
 "description": "Retrieves a list of all domains registered by you, along with their corresponding metadata. The order of domains in the response is unspecified and non-deterministic. Newly registered domains will not necessarily be added to the end of this list.",
 "flatPath": "v2/domains",
@@ -215,6 +304,35 @@
 "https://www.googleapis.com/auth/postmaster",
 "https://www.googleapis.com/auth/postmaster.domain"
 ]
+},
+"verify": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Verifies a user's ownership of a domain at the DNS level. Note that this is distinct from checking if the user has OWNER status within IRDB.",
+"flatPath": "v2/domains/{domainsId}:verify",
+"httpMethod": "POST",
+"id": "gmailpostmastertools.domains.verify",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The domain to verify.",
+"location": "path",
+"pattern": "^domains/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v2/{+name}:verify",
+"request": {
+"$ref": "VerifyDomainRequest"
+},
+"response": {
+"$ref": "VerifyDomainResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/postmaster",
+"https://www.googleapis.com/auth/postmaster.domain"
+]
 }
 },
 "resources": {
@@ -250,11 +368,168 @@
 ]
 }
 }
+},
+"users": {
+"methods": {
+"create": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Creates a user, who has access to a domain. Returns INVALID_ARGUMENT if a user is not provided.",
+"flatPath": "v2/domains/{domainsId}/users",
+"httpMethod": "POST",
+"id": "gmailpostmastertools.domains.users.create",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"parent": {
+"description": "Required. The parent resource where this user will be created. Format: domains/{domain}",
+"location": "path",
+"pattern": "^domains/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v2/{+parent}/users",
+"request": {
+"$ref": "CreateUserRequest"
+},
+"response": {
+"$ref": "User"
+},
+"scopes": [
+"https://www.googleapis.com/auth/postmaster",
+"https://www.googleapis.com/auth/postmaster.user"
+]
+},
+"delete": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Deletes a user from a domain. Returns NOT_FOUND if the user does not exist.",
+"flatPath": "v2/domains/{domainsId}/users/{usersId}",
+"httpMethod": "DELETE",
+"id": "gmailpostmastertools.domains.users.delete",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the user to delete. Format: domains/{domain}/users/{user}",
+"location": "path",
+"pattern": "^domains/[^/]+/users/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v2/{+name}",
+"response": {
+"$ref": "Empty"
+},
+"scopes": [
+"https://www.googleapis.com/auth/postmaster",
+"https://www.googleapis.com/auth/postmaster.user"
+]
+},
+"get": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Retrieves detailed information about a user that has access to a domain. Returns NOT_FOUND if the user does not exist.",
+"flatPath": "v2/domains/{domainsId}/users/{usersId}",
+"httpMethod": "GET",
+"id": "gmailpostmastertools.domains.users.get",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The resource name of the user to retrieve. Format: `domains/{domain}/users/{user}`",
+"location": "path",
+"pattern": "^domains/[^/]+/users/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v2/{+name}",
+"response": {
+"$ref": "User"
+},
+"scopes": [
+"https://www.googleapis.com/auth/postmaster",
+"https://www.googleapis.com/auth/postmaster.user"
+]
+},
+"list": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Lists the users that have access to a domain.",
+"flatPath": "v2/domains/{domainsId}/users",
+"httpMethod": "GET",
+"id": "gmailpostmastertools.domains.users.list",
+"parameterOrder": [
+"parent"
+],
+"parameters": {
+"pageSize": {
+"description": "Optional. Requested page size. Server may return fewer users than requested. If unspecified, the default value for this field is 10. The maximum value for this field is 200.",
+"format": "int32",
+"location": "query",
+"type": "integer"
+},
+"pageToken": {
+"description": "Optional. The next_page_token value returned from a previous List request, if any.",
+"location": "query",
+"type": "string"
+},
+"parent": {
+"description": "Required. The parent resource name for which to list users. Format: `domains/{domain}`",
+"location": "path",
+"pattern": "^domains/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v2/{+parent}/users",
+"response": {
+"$ref": "ListUsersResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/postmaster",
+"https://www.googleapis.com/auth/postmaster.user"
+]
+},
+"patch": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Updates a user for a domain. Only Owners and Admins can execute this RPC, only a user's domain permission will be allowed to be updated. Returns NOT_FOUND if the user does not exist. Returns INVALID_ARGUMENT if a permission is not provided or is PERMISSION_UNSPECIFIED, NONE, or OWNER.",
+"flatPath": "v2/domains/{domainsId}/users/{usersId}",
+"httpMethod": "PATCH",
+"id": "gmailpostmastertools.domains.users.patch",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Identifier. The resource name of the user. Format: users/{user} Note: {user} is the user's email address.",
+"location": "path",
+"pattern": "^domains/[^/]+/users/[^/]+$",
+"required": true,
+"type": "string"
+},
+"updateMask": {
+"description": "The list of fields to update.",
+"format": "google-fieldmask",
+"location": "query",
+"type": "string"
+}
+},
+"path": "v2/{+name}",
+"request": {
+"$ref": "User"
+},
+"response": {
+"$ref": "User"
+},
+"scopes": [
+"https://www.googleapis.com/auth/postmaster",
+"https://www.googleapis.com/auth/postmaster.user"
+]
+}
+}
 }
 }
 }
 },
-"revision": "20260512",
+"revision": "20260623",
 "rootUrl": "https://gmailpostmastertools.googleapis.com/",
 "schemas": {
 "BaseMetric": {
@@ -398,6 +673,46 @@
 },
 "type": "object"
 },
+"CreateDomainRequest": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Request message for CreateDomain.",
+"id": "CreateDomainRequest",
+"properties": {
+"domainId": {
+"description": "Required. The domain to add. e.g., \"example.com\"",
+"type": "string"
+}
+},
+"type": "object"
+},
+"CreateUserRequest": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Request message for CreateUser.",
+"id": "CreateUserRequest",
+"properties": {
+"permission": {
+"description": "Optional. Specifies the permission level to give the user for the specified domain. If not specified, the default value for this field is READER.",
+"enum": [
+"PERMISSION_UNSPECIFIED",
+"READER",
+"ADMIN",
+"OWNER",
+"NONE"
+],
+"enumDescriptions": [
+"Unspecified permission.",
+"User has read access to the domain.",
+"User has admin access to the domain.",
+"User has owner access to the domain.",
+"User has no access to the domain."
+],
+"type": "string"
+},
+"userId": {
+"description": "Required. The user to create.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "Date": {
 "description": "Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp",
 "id": "Date",
@@ -463,6 +778,43 @@
 },
 "type": "object"
 },
+"DeliverabilityStatusVerdict": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Verdict of domain deliverability status.",
+"id": "DeliverabilityStatusVerdict",
+"properties": {
+"reason": {
+"description": "Output only. The specific reason for the compliance verdict.",
+"enum": [
+"REASON_UNSPECIFIED",
+"MESSAGE_VOLUME_LOW",
+"SMTP_ERRORS_HIGH",
+"SENDER_NOT_COMPLIANT",
+"SPAM_RATE_HIGH",
+"USER_FEEDBACK_NEGATIVE",
+"USER_FEEDBACK_LOW",
+"USER_FEEDBACK_POSITIVE"
+],
+"enumDescriptions": [
+"Unspecified.",
+"Not enough outgoing email.",
+"Many messages with delivery errors.",
+"The sender does not meet the sender requirements.",
+"The spam rate is above 0.1%.",
+"Indicates users do not want to receive email messages.",
+"Users do not take action on messages.",
+"Users signal they want to receive email messages."
+],
+"readOnly": true,
+"type": "string"
+},
+"state": {
+"$ref": "ComplianceStatus",
+"description": "Output only. The compliance state.",
+"readOnly": true
+}
+},
+"type": "object"
+},
 "Domain": {
 "description": "Information about a domain registered by the user.",
 "id": "Domain",
@@ -487,12 +839,14 @@
 "enum": [
 "PERMISSION_UNSPECIFIED",
 "READER",
+"ADMIN",
 "OWNER",
 "NONE"
 ],
 "enumDescriptions": [
 "Unspecified permission.",
 "User has read access to the domain.",
+"User has admin access to the domain.",
 "User has owner access to the domain.",
 "User has no access to the domain."
 ],
@@ -521,6 +875,11 @@
 "description": "Compliance data for a given domain.",
 "id": "DomainComplianceData",
 "properties": {
+"deliverabilityStatusVerdict": {
+"$ref": "DeliverabilityStatusVerdict",
+"description": "Output only. Deliverability status verdict.",
+"readOnly": true
+},
 "domainId": {
 "description": "Domain that this data is for.",
 "type": "string"
@@ -586,6 +945,41 @@
 },
 "type": "object"
 },
+"DomainVerificationToken": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): The DNS token a user can use to verify ownership of a domain.",
+"id": "DomainVerificationToken",
+"properties": {
+"name": {
+"description": "Identifier. The resource name of the domain verification token. Format: domains/{domain}/verificationToken",
+"type": "string"
+},
+"token": {
+"description": "The verification token.",
+"type": "string"
+},
+"verificationMethod": {
+"description": "The verification method used.",
+"enum": [
+"DOMAIN_VERIFICATION_METHOD_UNSPECIFIED",
+"TXT",
+"CNAME"
+],
+"enumDescriptions": [
+"Unspecified.",
+"Generate a DNS TXT verification token.",
+"Generate a DNS CNAME verification token."
+],
+"type": "string"
+}
+},
+"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); }",
+"id": "Empty",
+"properties": {},
+"type": "object"
+},
 "HonorUnsubscribeVerdict": {
 "description": "Compliance verdict for whether a sender meets the unsubscribe honoring compliance requirement.",
 "id": "HonorUnsubscribeVerdict",
@@ -631,6 +1025,24 @@
 },
 "type": "object"
 },
+"ListUsersResponse": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Response message for ListUsers.",
+"id": "ListUsersResponse",
+"properties": {
+"nextPageToken": {
+"description": "Token to retrieve the next page of results, or empty if there are no more results in the list.",
+"type": "string"
+},
+"users": {
+"description": "The users that have access to the domain.",
+"items": {
+"$ref": "User"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
 "MetricDefinition": {
 "description": "Defines a specific metric to query, including a user-defined name, the base metric type, and optional filters.",
 "id": "MetricDefinition",
@@ -825,6 +1237,77 @@
 }
 },
 "type": "object"
+},
+"User": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Information about a user's access to a domain.",
+"id": "User",
+"properties": {
+"accessGranter": {
+"description": "Output only. The user that added the current user.",
+"readOnly": true,
+"type": "string"
+},
+"createTime": {
+"description": "Output only. The time the user was granted access.",
+"format": "google-datetime",
+"readOnly": true,
+"type": "string"
+},
+"name": {
+"description": "Identifier. The resource name of the user. Format: users/{user} Note: {user} is the user's email address.",
+"type": "string"
+},
+"permission": {
+"description": "The permission level that the user has for the specified domain.",
+"enum": [
+"PERMISSION_UNSPECIFIED",
+"READER",
+"ADMIN",
+"OWNER",
+"NONE"
+],
+"enumDescriptions": [
+"Unspecified permission.",
+"User has read access to the domain.",
+"User has admin access to the domain.",
+"User has owner access to the domain.",
+"User has no access to the domain."
+],
+"type": "string"
+},
+"user": {
+"description": "The user's email address.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"VerifyDomainRequest": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Request message for VerifyDomain.",
+"id": "VerifyDomainRequest",
+"properties": {
+"verificationMethod": {
+"description": "Required. The verification method used. Must be specified, i.e. TXT or CNAME.",
+"enum": [
+"DOMAIN_VERIFICATION_METHOD_UNSPECIFIED",
+"TXT",
+"CNAME"
+],
+"enumDescriptions": [
+"Unspecified.",
+"Generate a DNS TXT verification token.",
+"Generate a DNS CNAME verification token."
+],
+"type": "string"
+}
+},
+"type": "object"
+},
+"VerifyDomainResponse": {
+"description": "[Developer Preview](https://developers.google.com/workspace/preview): Response message for VerifyDomain.",
+"id": "VerifyDomainResponse",
+"properties": {},
+"type": "object"
 }
 },
 "servicePath": "",
diff --git a/googleapiclient/discovery_cache/documents/health.v4.json b/googleapiclient/discovery_cache/documents/health.v4.json
index c439dfd..e011261 100644
--- a/googleapiclient/discovery_cache/documents/health.v4.json
+++ b/googleapiclient/discovery_cache/documents/health.v4.json
@@ -996,7 +996,7 @@
 }
 }
 },
-"revision": "20260618",
+"revision": "20260620",
 "rootUrl": "https://health.googleapis.com/",
 "schemas": {
 "ActiveEnergyBurned": {
@@ -4672,7 +4672,7 @@
 "description": "Required. Closed-open range of data points that will be rolled up. The maximum range for `calories-in-heart-rate-zone`, `heart-rate`, `active-minutes` and `total-calories` is 14 days. The maximum range for all other data types is 90 days."
 },
 "windowSize": {
-"description": "Required. The size of the time window to group data points into before applying the aggregation functions.",
+"description": "Required. The size of the time window to group data points into before applying the aggregation functions. Must be at least 1 second.",
 "format": "google-duration",
 "type": "string"
 }
diff --git a/googleapiclient/discovery_cache/documents/homegraph.v1.json b/googleapiclient/discovery_cache/documents/homegraph.v1.json
index 7f6ac26..60c3972 100644
--- a/googleapiclient/discovery_cache/documents/homegraph.v1.json
+++ b/googleapiclient/discovery_cache/documents/homegraph.v1.json
@@ -216,7 +216,7 @@
 }
 }
 },
-"revision": "20260604",
+"revision": "20260619",
 "rootUrl": "https://homegraph.googleapis.com/",
 "schemas": {
 "AgentDeviceId": {
@@ -796,6 +796,11 @@
 "description": "Contains the trait payload for a single trait.",
 "id": "TraitData",
 "properties": {
+"commitTime": {
+"description": "Other metadata for the trait. The time the client update was committed in the server.",
+"format": "google-datetime",
+"type": "string"
+},
 "trait": {
 "additionalProperties": {
 "description": "Properties of the object. Contains field @type with type URL.",
diff --git a/googleapiclient/discovery_cache/documents/hypercomputecluster.v1.json b/googleapiclient/discovery_cache/documents/hypercomputecluster.v1.json
index ba4c3b3..a2f5619 100644
--- a/googleapiclient/discovery_cache/documents/hypercomputecluster.v1.json
+++ b/googleapiclient/discovery_cache/documents/hypercomputecluster.v1.json
@@ -195,7 +195,7 @@
 ],
 "parameters": {
 "clusterId": {
-"description": "Required. ID of the cluster to create. Must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).",
+"description": "Required. The ID of the cluster to create. The cluster ID must start with a lowercase letter (`a`-`z`), use only lowercase letters or numbers, and contain up to 10 characters. For example, specify `cluster001`.",
 "location": "query",
 "type": "string"
 },
@@ -498,7 +498,7 @@
 }
 }
 },
-"revision": "20260610",
+"revision": "20260617",
 "rootUrl": "https://hypercomputecluster.googleapis.com/",
 "schemas": {
 "BootDisk": {
@@ -1666,7 +1666,7 @@
 "description": "Optional. If set, indicates that the nodeset should be backed by Compute Engine instances."
 },
 "id": {
-"description": "Required. Identifier for the nodeset, which allows it to be referenced by partitions. Must conform to [RFC-1034](https://datatracker.ietf.org/doc/html/rfc1034) (lower-case, alphanumeric, and at most 63 characters).",
+"description": "Required. The ID for the nodeset, which allows it to be referenced by cluster partitions. The nodeset ID must start with a lowercase letter (`a`-`z`), use only lowercase letters or numbers, and contain up to 15 characters. For example, specify `nodeset001`.",
 "type": "string"
 },
 "maxDynamicNodeCount": {
diff --git a/googleapiclient/discovery_cache/documents/merchantapi.inventories_v1.json b/googleapiclient/discovery_cache/documents/merchantapi.inventories_v1.json
index 24af5ac..06779ec 100644
--- a/googleapiclient/discovery_cache/documents/merchantapi.inventories_v1.json
+++ b/googleapiclient/discovery_cache/documents/merchantapi.inventories_v1.json
@@ -300,7 +300,7 @@
 }
 }
 },
-"revision": "20260527",
+"revision": "20260624",
 "rootUrl": "https://merchantapi.googleapis.com/",
 "schemas": {
 "Empty": {
@@ -455,6 +455,10 @@
 "description": "Optional. Location of the product inside the store. Maximum length is 20 bytes.",
 "type": "string"
 },
+"localShippingLabel": {
+"description": "Optional. Specifies a label associated with the shipping for the `LocalInventory` resource. Can be used to group local shipping services to this particular inventory item. For accepted field format, see the [Local delivery](https://support.google.com/merchants/answer/14819809#localdelivery)",
+"type": "string"
+},
 "loyaltyPrograms": {
 "description": "Optional. An optional list of loyalty programs containing applicable loyalty member prices for this product at this store. This field is used to show store-specific member prices on Local Inventory Ads (LIA). To use this, the loyalty program must be configured in Google Merchant Center. The benefits provided must match the merchant's website and be clear to members. This is only applicable for merchants in supported countries. See [Loyalty program](https://support.google.com/merchants/answer/12922446) for details on supported countries and loyalty program configuration. For local inventory specific details, see the [Local inventory data specification](https://support.google.com/merchants/answer/3061342).",
 "items": {
diff --git a/googleapiclient/discovery_cache/documents/migrationcenter.v1alpha1.json b/googleapiclient/discovery_cache/documents/migrationcenter.v1alpha1.json
index 86fa83a..64b60bb 100644
--- a/googleapiclient/discovery_cache/documents/migrationcenter.v1alpha1.json
+++ b/googleapiclient/discovery_cache/documents/migrationcenter.v1alpha1.json
@@ -2722,7 +2722,7 @@
 }
 }
 },
-"revision": "20260512",
+"revision": "20260621",
 "rootUrl": "https://migrationcenter.googleapis.com/",
 "schemas": {
 "AddAssetsToGroupRequest": {
@@ -3028,6 +3028,11 @@
 "description": "Output only. Asset information specific for AWS Elastic Network Interfaces.",
 "readOnly": true
 },
+"awsElasticacheClusterDetails": {
+"$ref": "AwsElastiCacheClusterDetails",
+"description": "Output only. Asset information specific for AWS ElastiCache Clusters.",
+"readOnly": true
+},
 "awsElbLoadBalancerDetails": {
 "$ref": "AwsElbLoadBalancerDetails",
 "description": "Output only. Asset information specific for AWS Load Balancers.",
@@ -3260,6 +3265,10 @@
 "$ref": "AwsElasticNetworkInterfaceDetails",
 "description": "Optional. Asset information specific for AWS Elastic Network Interfaces."
 },
+"awsElasticacheClusterDetails": {
+"$ref": "AwsElastiCacheClusterDetails",
+"description": "Optional. Asset information specific for AWS ElastiCache Clusters."
+},
 "awsElbLoadBalancerDetails": {
 "$ref": "AwsElbLoadBalancerDetails",
 "description": "Asset information specific for AWS Load Balancers."
@@ -3682,6 +3691,12 @@
 "properties": {},
 "type": "object"
 },
+"AwsElastiCacheClusterDetails": {
+"description": "Details of an AWS ElastiCache Cluster.",
+"id": "AwsElastiCacheClusterDetails",
+"properties": {},
+"type": "object"
+},
 "AwsElasticIpAddressDetails": {
 "description": "Asset information specific for AWS Elastic IP Addresses.",
 "id": "AwsElasticIpAddressDetails",
diff --git a/googleapiclient/discovery_cache/documents/netapp.v1beta1.json b/googleapiclient/discovery_cache/documents/netapp.v1beta1.json
index 404d03e..8c9bca4 100644
--- a/googleapiclient/discovery_cache/documents/netapp.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/netapp.v1beta1.json
@@ -2160,6 +2160,31 @@
 "https://www.googleapis.com/auth/cloud-platform"
 ]
 },
+"getSplitStatus": {
+"description": "Retrieves the current state, progress, and details of a split operation for a volume. This method is relevant when the volume is a clone. For volumes that are not clones, this method will return an error.",
+"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}:getSplitStatus",
+"httpMethod": "GET",
+"id": "netapp.projects.locations.volumes.getSplitStatus",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The full name of the volume. Format: projects/{project_number}/locations/{location}/volumes/{volume_id}",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1beta1/{+name}:getSplitStatus",
+"response": {
+"$ref": "SplitStatus"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
+},
 "list": {
 "description": "Lists Volumes in a given project.",
 "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes",
@@ -2296,6 +2321,34 @@
 "scopes": [
 "https://www.googleapis.com/auth/cloud-platform"
 ]
+},
+"startSplit": {
+"description": "Splits a clone volume from its source volume. This operation will only work for volumes which have clone_details set(clones). For volumes that are not clones, this operation will return an error.",
+"flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/volumes/{volumesId}:startSplit",
+"httpMethod": "POST",
+"id": "netapp.projects.locations.volumes.startSplit",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The full name of the clone volume to be split from its source. Format: projects/{project_number}/locations/{location}/volumes/{volume_id}",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/volumes/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1beta1/{+name}:startSplit",
+"request": {
+"$ref": "StartSplitRequest"
+},
+"response": {
+"$ref": "Operation"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
 }
 },
 "resources": {
@@ -2950,7 +3003,7 @@
 }
 }
 },
-"revision": "20260518",
+"revision": "20260621",
 "rootUrl": "https://netapp.googleapis.com/",
 "schemas": {
 "ActiveDirectory": {
@@ -3671,6 +3724,23 @@
 "description": "Output only. Full name of the source volume resource. Format: projects/{project}/locations/{location}/volumes/{volume}",
 "readOnly": true,
 "type": "string"
+},
+"splitState": {
+"description": "Output only. The current state of the clone split operation.",
+"enum": [
+"SPLIT_STATE_UNSPECIFIED",
+"SPLIT_STATE_NOT_SPLITTING",
+"SPLIT_STATE_IN_PROGRESS",
+"SPLIT_STATE_FAILED"
+],
+"enumDescriptions": [
+"State is not specified.",
+"The volume is a thin clone, sharing blocks with its source.",
+"A split operation is currently active and in progress.",
+"The attempt to split the volume failed."
+],
+"readOnly": true,
+"type": "string"
 }
 },
 "type": "object"
@@ -5335,6 +5405,47 @@
 },
 "type": "object"
 },
+"SplitStatus": {
+"description": "Message for SplitStatus.",
+"id": "SplitStatus",
+"properties": {
+"progressPercent": {
+"description": "Output only. The estimated progress percentage of the split operation (0-100). This is meaningful primarily when split_state is IN_PROGRESS.",
+"format": "int32",
+"readOnly": true,
+"type": "integer"
+},
+"splitState": {
+"description": "Output only. The current state of the clone split operation.",
+"enum": [
+"SPLIT_STATE_UNSPECIFIED",
+"SPLIT_STATE_NOT_SPLITTING",
+"SPLIT_STATE_IN_PROGRESS",
+"SPLIT_STATE_FAILED"
+],
+"enumDescriptions": [
+"State is not specified.",
+"The volume is a thin clone, sharing blocks with its source.",
+"A split operation is currently active and in progress.",
+"The attempt to split the volume failed."
+],
+"readOnly": true,
+"type": "string"
+},
+"stateDetails": {
+"description": "Output only. Human-readable details about the current state. Mostly used for displaying error messages during split failure Examples: \"Split in progress\", \"Error: insufficient capacity\".",
+"readOnly": true,
+"type": "string"
+}
+},
+"type": "object"
+},
+"StartSplitRequest": {
+"description": "Request message for splitting a volume.",
+"id": "StartSplitRequest",
+"properties": {},
+"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",
diff --git a/googleapiclient/discovery_cache/documents/networkconnectivity.v1.json b/googleapiclient/discovery_cache/documents/networkconnectivity.v1.json
index 0dd729e..04d9305 100644
--- a/googleapiclient/discovery_cache/documents/networkconnectivity.v1.json
+++ b/googleapiclient/discovery_cache/documents/networkconnectivity.v1.json
@@ -3898,7 +3898,7 @@
 }
 }
 },
-"revision": "20260514",
+"revision": "20260618",
 "rootUrl": "https://networkconnectivity.googleapis.com/",
 "schemas": {
 "AcceptHubSpokeRequest": {
@@ -4183,7 +4183,7 @@
 "type": "string"
 },
 "serviceClass": {
-"description": "Required. Immutable. The service class identifier which authorizes this AutomatedDnsRecord. Any API calls targeting this AutomatedDnsRecord must have `networkconnectivity.serviceclasses.use` IAM permission for the provided service class.",
+"description": "Required. Immutable. The service class identifier which authorizes this AutomatedDnsRecord. Any API calls targeting this AutomatedDnsRecord must have `networkconnectivity.serviceClasses.use` IAM permission for the provided service class.",
 "type": "string"
 },
 "state": {
diff --git a/googleapiclient/discovery_cache/documents/networkmanagement.v1.json b/googleapiclient/discovery_cache/documents/networkmanagement.v1.json
index aa1aab6..5fee5b8 100644
--- a/googleapiclient/discovery_cache/documents/networkmanagement.v1.json
+++ b/googleapiclient/discovery_cache/documents/networkmanagement.v1.json
@@ -1797,7 +1797,7 @@
 }
 }
 },
-"revision": "20260603",
+"revision": "20260617",
 "rootUrl": "https://networkmanagement.googleapis.com/",
 "schemas": {
 "AbortInfo": {
@@ -1961,7 +1961,7 @@
 "type": "array"
 },
 "resourceUri": {
-"description": "URI of the resource that caused the abort.",
+"description": "URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)",
 "type": "string"
 }
 },
@@ -1995,7 +1995,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of an App Engine version.",
+"description": "URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`",
 "type": "string"
 }
 },
@@ -2101,7 +2101,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a Cloud Function.",
+"description": "URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`",
 "type": "string"
 },
 "versionId": {
@@ -2125,7 +2125,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a Cloud Run job.",
+"description": "URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`",
 "type": "string"
 }
 },
@@ -2160,11 +2160,11 @@
 "type": "string"
 },
 "serviceUri": {
-"description": "URI of Cloud Run service this revision belongs to.",
+"description": "URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`",
 "type": "string"
 },
 "uri": {
-"description": "URI of a Cloud Run revision.",
+"description": "URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`",
 "type": "string"
 }
 },
@@ -2187,7 +2187,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "URI of a Cloud SQL instance network or empty string if the instance does not have one.",
+"description": "URI of a Cloud SQL instance network or empty string if the instance does not have one. In format \"projects/{project}/global/networks/{network}\".",
 "type": "string"
 },
 "region": {
@@ -2195,7 +2195,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a Cloud SQL instance.",
+"description": "URI of a Cloud SQL instance in format \"projects/{project}/instances/{instance}\"",
 "type": "string"
 }
 },
@@ -2315,7 +2315,7 @@
 "type": "string"
 },
 "resourceUri": {
-"description": "URI of the resource that the packet is delivered to.",
+"description": "URI of the resource that the packet is delivered to. For example: * `\"projects/{project}/zones/{zone}/instances/{instance}\"` * `\"projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}\"`",
 "type": "string"
 },
 "storageBucket": {
@@ -2382,7 +2382,7 @@
 "id": "DirectVpcEgressConnectionInfo",
 "properties": {
 "networkUri": {
-"description": "URI of direct access network.",
+"description": "URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "region": {
@@ -2398,7 +2398,7 @@
 "type": "string"
 },
 "subnetworkUri": {
-"description": "URI of direct access subnetwork.",
+"description": "URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`",
 "type": "string"
 }
 },
@@ -2649,7 +2649,7 @@
 "type": "string"
 },
 "resourceUri": {
-"description": "URI of the resource that caused the drop.",
+"description": "URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)",
 "type": "string"
 },
 "sourceGeolocationCode": {
@@ -2835,6 +2835,10 @@
 "description": "A [Cloud SQL](https://cloud.google.com/sql) instance URI.",
 "type": "string"
 },
+"dmsPrivateConnection": {
+"description": "A [DMS Private Connection](https://docs.cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.privateConnections) name format: projects/{project}/locations/{location}/privateConnections/{privateConnection}.",
+"type": "string"
+},
 "forwardingRule": {
 "description": "A forwarding rule and its corresponding IP address represent the frontend configuration of a Google Cloud load balancer. Forwarding rules are also used for protocol forwarding, Private Service Connect and other network services to provide forwarding information in the control plane. Applicable only to destination endpoint. Format: `projects/{project}/global/forwardingRules/{id}` or `projects/{project}/regions/{region}/forwardingRules/{id}`",
 "type": "string"
@@ -2963,7 +2967,7 @@
 "type": "string"
 },
 "destinationNetworkUri": {
-"description": "URI of the network where this packet is sent to.",
+"description": "URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "destinationPort": {
@@ -2984,7 +2988,7 @@
 "type": "string"
 },
 "sourceNetworkUri": {
-"description": "URI of the network where this packet originates from.",
+"description": "URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "sourcePort": {
@@ -3067,7 +3071,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.",
+"description": "The URI of the VPC network that the firewall rule is associated with in format \"projects/{project}/global/networks/{network}\". This field is not applicable to hierarchical firewall policy rules.",
 "type": "string"
 },
 "policy": {
@@ -3080,7 +3084,7 @@
 "type": "integer"
 },
 "policyUri": {
-"description": "The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.",
+"description": "The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)",
 "type": "string"
 },
 "priority": {
@@ -3117,7 +3121,7 @@
 "type": "string"
 },
 "uri": {
-"description": "The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.",
+"description": "The URI of the firewall rule in format \"projects/{project}/global/firewalls/{firewall}\". This field is not applicable to implied VPC firewall rules.",
 "type": "string"
 }
 },
@@ -3132,7 +3136,7 @@
 "type": "string"
 },
 "resourceUri": {
-"description": "URI of the resource that the packet is forwarded to.",
+"description": "URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)",
 "type": "string"
 },
 "target": {
@@ -3202,7 +3206,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "Network URI.",
+"description": "URI of a VPC network where the forwarding rule is located in format \"projects/{project}/global/networks/{network}\".",
 "type": "string"
 },
 "pscGoogleApiTarget": {
@@ -3210,7 +3214,7 @@
 "type": "string"
 },
 "pscServiceAttachmentUri": {
-"description": "URI of the PSC service attachment this forwarding rule targets (if applicable).",
+"description": "URI of the PSC service attachment this forwarding rule targets (if applicable) in format \"projects/{project}/regions/{region}/serviceAttachments/{service_attachment}\".",
 "type": "string"
 },
 "region": {
@@ -3222,7 +3226,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of the forwarding rule.",
+"description": "URI of the forwarding rule in format \"projects/{project}/global/forwardingRules/{forwarding_rule}\" (global) or \"projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}\" (regional).",
 "type": "string"
 },
 "vip": {
@@ -3237,11 +3241,11 @@
 "id": "GKEMasterInfo",
 "properties": {
 "clusterNetworkUri": {
-"description": "URI of a GKE cluster network.",
+"description": "URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "clusterUri": {
-"description": "URI of a GKE cluster.",
+"description": "URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)",
 "type": "string"
 },
 "dnsEndpoint": {
@@ -3359,7 +3363,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "URI of the network containing the GKE Pod.",
+"description": "URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "podUri": {
@@ -3489,7 +3493,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a hybrid subnet.",
+"description": "URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`",
 "type": "string"
 }
 },
@@ -3523,11 +3527,11 @@
 "type": "array"
 },
 "networkUri": {
-"description": "URI of a Compute Engine network.",
+"description": "URI of a Compute Engine network in format \"projects/{project}/global/networks/{network}\"",
 "type": "string"
 },
 "pscNetworkAttachmentUri": {
-"description": "URI of the PSC network attachment the NIC is attached to (if relevant).",
+"description": "URI of the PSC network attachment the NIC is attached to (if relevant) in format \"projects/{project}/regions/{region}/networkAttachments/{network_attachment}\"",
 "type": "string"
 },
 "running": {
@@ -3555,7 +3559,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a Compute Engine instance.",
+"description": "URI of a Compute Engine instance in format \"projects/{project}/zones/{zone}/instances/{instance}\"",
 "type": "string"
 }
 },
@@ -3566,7 +3570,7 @@
 "id": "InterconnectAttachmentInfo",
 "properties": {
 "cloudRouterUri": {
-"description": "URI of the Cloud Router to be used for dynamic routing.",
+"description": "URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`",
 "type": "string"
 },
 "displayName": {
@@ -3574,7 +3578,7 @@
 "type": "string"
 },
 "interconnectUri": {
-"description": "URI of the Interconnect where the Interconnect attachment is configured.",
+"description": "URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`",
 "type": "string"
 },
 "l2AttachmentMatchedIpAddress": {
@@ -3604,7 +3608,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of an Interconnect attachment.",
+"description": "URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`",
 "type": "string"
 }
 },
@@ -3878,7 +3882,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a Compute Engine instance or network endpoint.",
+"description": "URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)",
 "type": "string"
 }
 },
@@ -3889,11 +3893,11 @@
 "id": "LoadBalancerBackendInfo",
 "properties": {
 "backendBucketUri": {
-"description": "URI of the backend bucket this backend targets (if applicable).",
+"description": "URI of the backend bucket this backend targets (if applicable) in format \"projects/{project}/global/backendBuckets/{backend_bucket}\".",
 "type": "string"
 },
 "backendServiceUri": {
-"description": "URI of the backend service this backend belongs to (if applicable).",
+"description": "URI of the backend service this backend belongs to (if applicable) in format \"projects/{project}/regions/{region}/backendServices/{backend_service}\" (regional) or \"projects/{project}/global/backendServices/{backend_service}\" (global).",
 "type": "string"
 },
 "healthCheckFirewallsConfigState": {
@@ -3916,15 +3920,15 @@
 "type": "string"
 },
 "healthCheckUri": {
-"description": "URI of the health check attached to this backend (if applicable).",
+"description": "URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)",
 "type": "string"
 },
 "instanceGroupUri": {
-"description": "URI of the instance group this backend belongs to (if applicable).",
+"description": "URI of the instance group this backend belongs to (if applicable) in format \"projects/{project}/zones/{zone}/instanceGroups/{instance_group}\".",
 "type": "string"
 },
 "instanceUri": {
-"description": "URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.",
+"description": "URI of the backend instance (if applicable) in format \"projects/{project}/zones/{zone}/instances/{instance}\". Populated for instance group backends, and zonal NEG backends.",
 "type": "string"
 },
 "name": {
@@ -3932,7 +3936,7 @@
 "type": "string"
 },
 "networkEndpointGroupUri": {
-"description": "URI of the network endpoint group this backend belongs to (if applicable).",
+"description": "URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)",
 "type": "string"
 },
 "pscGoogleApiTarget": {
@@ -3940,7 +3944,7 @@
 "type": "string"
 },
 "pscServiceAttachmentUri": {
-"description": "URI of the PSC service attachment this PSC NEG backend targets (if applicable).",
+"description": "URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format \"projects/{project}/regions/{region}/serviceAttachments/{service_attachment}\".",
 "type": "string"
 }
 },
@@ -3967,7 +3971,7 @@
 "type": "string"
 },
 "backendUri": {
-"description": "Backend configuration URI.",
+"description": "URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`",
 "type": "string"
 },
 "backends": {
@@ -4230,7 +4234,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "URI of the network where NAT translation takes place.",
+"description": "URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "newDestinationIp": {
@@ -4274,7 +4278,7 @@
 "type": "string"
 },
 "routerUri": {
-"description": "Uri of the Cloud Router. Only valid when type is CLOUD_NAT.",
+"description": "URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`",
 "type": "string"
 },
 "type": {
@@ -4313,7 +4317,7 @@
 "type": "string"
 },
 "matchedSubnetUri": {
-"description": "URI of the subnet matching the source IP address of the test.",
+"description": "URI of the subnet matching the source IP address of the test in format \"projects/{project}/regions/{region}/subnetworks/{subnetwork}\"",
 "type": "string"
 },
 "region": {
@@ -4321,7 +4325,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a Compute Engine network.",
+"description": "URI of a Compute Engine network in format \"projects/{project}/global/networks/{network}\"",
 "type": "string"
 }
 },
@@ -4565,7 +4569,7 @@
 "id": "NgfwPacketInspectionInfo",
 "properties": {
 "securityProfileGroupUri": {
-"description": "URI of the security profile group associated with this firewall packet inspection.",
+"description": "URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`",
 "type": "string"
 }
 },
@@ -4811,7 +4815,7 @@
 "id": "ProxyConnectionInfo",
 "properties": {
 "networkUri": {
-"description": "URI of the network where connection is proxied.",
+"description": "URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "newDestinationIp": {
@@ -4855,7 +4859,7 @@
 "type": "string"
 },
 "subnetUri": {
-"description": "Uri of proxy subnet.",
+"description": "URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`",
 "type": "string"
 }
 },
@@ -4967,7 +4971,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "URI of a Cloud Redis Instance network.",
+"description": "URI of a Cloud Redis Instance network in format \"projects/{project}/global/networks/{network}\".",
 "type": "string"
 },
 "primaryEndpointIp": {
@@ -4983,7 +4987,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a Cloud Redis Instance.",
+"description": "URI of a Cloud Redis Instance in format \"projects/{project}/locations/{location}/instances/{instance}\"",
 "type": "string"
 }
 },
@@ -5005,7 +5009,7 @@
 "type": "string"
 },
 "advertisedRouteSourceRouterUri": {
-"description": "For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.",
+"description": "For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format \"projects/{project}/regions/{region}/routers/{router}\".",
 "type": "string"
 },
 "destIpRange": {
@@ -5031,19 +5035,19 @@
 "type": "array"
 },
 "nccHubRouteUri": {
-"description": "For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub's routing table.",
+"description": "For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub's routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`",
 "type": "string"
 },
 "nccHubUri": {
-"description": "URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.",
+"description": "URI of the NCC Hub the route is advertised by in format \"projects/{project}/locations/global/hubs/{hub}\". PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.",
 "type": "string"
 },
 "nccSpokeUri": {
-"description": "URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.",
+"description": "URI of the destination NCC Spoke in format \"projects/{project}/locations/{location}/spokes/{spoke}\" (regional) or \"projects/{project}/locations/global/spokes/{spoke}\" (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.",
 "type": "string"
 },
 "networkUri": {
-"description": "URI of a VPC network where route is located.",
+"description": "URI of a VPC network where route is located in format \"projects/{project}/global/networks/{network}\".",
 "type": "string"
 },
 "nextHop": {
@@ -5052,7 +5056,7 @@
 "type": "string"
 },
 "nextHopNetworkUri": {
-"description": "URI of a VPC network where the next hop resource is located.",
+"description": "URI of a VPC network where the next hop resource is located in format \"projects/{project}/global/networks/{network}\".",
 "type": "string"
 },
 "nextHopType": {
@@ -5100,7 +5104,7 @@
 "type": "string"
 },
 "originatingRouteUri": {
-"description": "For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.",
+"description": "For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`",
 "type": "string"
 },
 "priority": {
@@ -5172,7 +5176,7 @@
 "type": "array"
 },
 "uri": {
-"description": "URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.",
+"description": "URI of a route in format \"projects/{project}/global/routes/{route}\". SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.",
 "type": "string"
 }
 },
@@ -5194,7 +5198,7 @@
 "id": "ServerlessNegInfo",
 "properties": {
 "negUri": {
-"description": "URI of the serverless network endpoint group.",
+"description": "URI of the serverless network endpoint group in format \"projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}\".",
 "type": "string"
 }
 },
@@ -5723,7 +5727,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a VPC connector.",
+"description": "URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`",
 "type": "string"
 }
 },
@@ -5889,7 +5893,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "URI of a Compute Engine network where the VPN gateway is configured.",
+"description": "URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "region": {
@@ -5897,11 +5901,11 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a VPN gateway.",
+"description": "URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)",
 "type": "string"
 },
 "vpnTunnelUri": {
-"description": "A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.",
+"description": "URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`",
 "type": "string"
 }
 },
@@ -5916,7 +5920,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "URI of a Compute Engine network where the VPN tunnel is configured.",
+"description": "URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "region": {
@@ -5924,7 +5928,7 @@
 "type": "string"
 },
 "remoteGateway": {
-"description": "URI of a VPN gateway at remote end of the tunnel.",
+"description": "URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)",
 "type": "string"
 },
 "remoteGatewayIp": {
@@ -5948,7 +5952,7 @@
 "type": "string"
 },
 "sourceGateway": {
-"description": "URI of the VPN gateway at local end of the tunnel.",
+"description": "URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)",
 "type": "string"
 },
 "sourceGatewayIp": {
@@ -5956,7 +5960,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a VPN tunnel.",
+"description": "URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`",
 "type": "string"
 }
 },
diff --git a/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json b/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json
index cf6b856..93e125a 100644
--- a/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/networkmanagement.v1beta1.json
@@ -1237,7 +1237,7 @@
 }
 }
 },
-"revision": "20260520",
+"revision": "20260617",
 "rootUrl": "https://networkmanagement.googleapis.com/",
 "schemas": {
 "AbortInfo": {
@@ -1401,7 +1401,7 @@
 "type": "array"
 },
 "resourceUri": {
-"description": "URI of the resource that caused the abort.",
+"description": "URI of the resource that caused the abort. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC network) * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (VM instance)",
 "type": "string"
 }
 },
@@ -1435,7 +1435,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of an App Engine version.",
+"description": "URI of the App Engine version. Format: `apps/{app_id}/services/{service_id}/versions/{version_id}`",
 "type": "string"
 }
 },
@@ -1541,7 +1541,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a Cloud Function.",
+"description": "URI of the Cloud Function. Format: `projects/{project_id}/locations/{location}/functions/{function_id}`",
 "type": "string"
 },
 "versionId": {
@@ -1565,7 +1565,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a Cloud Run job.",
+"description": "URI of the Cloud Run job. Format: `projects/{project_id}/locations/{location}/jobs/{job_id}`",
 "type": "string"
 }
 },
@@ -1600,11 +1600,11 @@
 "type": "string"
 },
 "serviceUri": {
-"description": "URI of Cloud Run service this revision belongs to.",
+"description": "URI of Cloud Run service this revision belongs to. Format: `projects/{project_id}/locations/{location}/services/{service_id}`",
 "type": "string"
 },
 "uri": {
-"description": "URI of a Cloud Run revision.",
+"description": "URI of the Cloud Run revision. Format: `projects/{project_id}/locations/{location}/revisions/{revision_id}`",
 "type": "string"
 }
 },
@@ -1627,7 +1627,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "URI of a Cloud SQL instance network or empty string if the instance does not have one.",
+"description": "URI of a Cloud SQL instance network or empty string if the instance does not have one. In format \"projects/{project}/global/networks/{network}\".",
 "type": "string"
 },
 "region": {
@@ -1635,7 +1635,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a Cloud SQL instance.",
+"description": "URI of a Cloud SQL instance in format \"projects/{project}/instances/{instance}\"",
 "type": "string"
 }
 },
@@ -1755,7 +1755,7 @@
 "type": "string"
 },
 "resourceUri": {
-"description": "URI of the resource that the packet is delivered to.",
+"description": "URI of the resource that the packet is delivered to. For example: * `\"projects/{project}/zones/{zone}/instances/{instance}\"` * `\"projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}\"`",
 "type": "string"
 },
 "storageBucket": {
@@ -1822,7 +1822,7 @@
 "id": "DirectVpcEgressConnectionInfo",
 "properties": {
 "networkUri": {
-"description": "URI of direct access network.",
+"description": "URI of the VPC network for direct egress. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "region": {
@@ -1838,7 +1838,7 @@
 "type": "string"
 },
 "subnetworkUri": {
-"description": "URI of direct access subnetwork.",
+"description": "URI of the subnetwork for direct egress. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`",
 "type": "string"
 }
 },
@@ -2089,7 +2089,7 @@
 "type": "string"
 },
 "resourceUri": {
-"description": "URI of the resource that caused the drop.",
+"description": "URI of the resource that caused the drop. Format: * `projects/{project_id}/global/firewalls/{firewall_id}` (firewall rule) * `projects/{project_id}/global/routes/{route_id}` (route)",
 "type": "string"
 },
 "sourceGeolocationCode": {
@@ -2411,7 +2411,7 @@
 "type": "string"
 },
 "destinationNetworkUri": {
-"description": "URI of the network where this packet is sent to.",
+"description": "URI of the network where this packet is sent to. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "destinationPort": {
@@ -2432,7 +2432,7 @@
 "type": "string"
 },
 "sourceNetworkUri": {
-"description": "URI of the network where this packet originates from.",
+"description": "URI of the network where this packet originates from. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "sourcePort": {
@@ -2515,7 +2515,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "The URI of the VPC network that the firewall rule is associated with. This field is not applicable to hierarchical firewall policy rules.",
+"description": "The URI of the VPC network that the firewall rule is associated with in format \"projects/{project}/global/networks/{network}\". This field is not applicable to hierarchical firewall policy rules.",
 "type": "string"
 },
 "policy": {
@@ -2528,7 +2528,7 @@
 "type": "integer"
 },
 "policyUri": {
-"description": "The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules.",
+"description": "The URI of the firewall policy that this rule is associated with. This field is not applicable to VPC firewall rules and implied VPC firewall rules. Format: * `locations/global/firewallPolicies/{policy_id}` (hierarchical policy) * `projects/{project_id}/global/firewallPolicies/{policy_id}` (global network firewall policy) * `projects/{project_id}/regions/{region}/firewallPolicies/{policy_id}` (regional network firewall policy)",
 "type": "string"
 },
 "priority": {
@@ -2565,7 +2565,7 @@
 "type": "string"
 },
 "uri": {
-"description": "The URI of the firewall rule. This field is not applicable to implied VPC firewall rules.",
+"description": "The URI of the firewall rule in format \"projects/{project}/global/firewalls/{firewall}\". This field is not applicable to implied VPC firewall rules.",
 "type": "string"
 }
 },
@@ -2580,7 +2580,7 @@
 "type": "string"
 },
 "resourceUri": {
-"description": "URI of the resource that the packet is forwarded to.",
+"description": "URI of the resource that the packet is forwarded to. Format: * `projects/{project_id}/global/networks/{network_id}` (VPC peering network) * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (VPN gateway)",
 "type": "string"
 },
 "target": {
@@ -2650,7 +2650,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "Network URI.",
+"description": "URI of a VPC network where the forwarding rule is located in format \"projects/{project}/global/networks/{network}\".",
 "type": "string"
 },
 "pscGoogleApiTarget": {
@@ -2658,7 +2658,7 @@
 "type": "string"
 },
 "pscServiceAttachmentUri": {
-"description": "URI of the PSC service attachment this forwarding rule targets (if applicable).",
+"description": "URI of the PSC service attachment this forwarding rule targets (if applicable) in format \"projects/{project}/regions/{region}/serviceAttachments/{service_attachment}\".",
 "type": "string"
 },
 "region": {
@@ -2670,7 +2670,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of the forwarding rule.",
+"description": "URI of the forwarding rule in format \"projects/{project}/global/forwardingRules/{forwarding_rule}\" (global) or \"projects/{project}/regions/{region}/forwardingRules/{forwarding_rule}\" (regional).",
 "type": "string"
 },
 "vip": {
@@ -2685,11 +2685,11 @@
 "id": "GKEMasterInfo",
 "properties": {
 "clusterNetworkUri": {
-"description": "URI of a GKE cluster network.",
+"description": "URI of the GKE cluster network. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "clusterUri": {
-"description": "URI of a GKE cluster.",
+"description": "URI of the GKE cluster. Format: * `projects/{project_id}/locations/{location}/clusters/{cluster_id}` (regional cluster) * `projects/{project_id}/zones/{zone}/clusters/{cluster_id}` (zonal cluster)",
 "type": "string"
 },
 "dnsEndpoint": {
@@ -2766,7 +2766,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "URI of the network containing the GKE Pod.",
+"description": "URI of the network containing the GKE Pod. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "podUri": {
@@ -2824,7 +2824,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a hybrid subnet.",
+"description": "URI of the hybrid subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`",
 "type": "string"
 }
 },
@@ -2858,11 +2858,11 @@
 "type": "array"
 },
 "networkUri": {
-"description": "URI of a Compute Engine network.",
+"description": "URI of a Compute Engine network in format \"projects/{project}/global/networks/{network}\"",
 "type": "string"
 },
 "pscNetworkAttachmentUri": {
-"description": "URI of the PSC network attachment the NIC is attached to (if relevant).",
+"description": "URI of the PSC network attachment the NIC is attached to (if relevant) in format \"projects/{project}/regions/{region}/networkAttachments/{network_attachment}\"",
 "type": "string"
 },
 "running": {
@@ -2890,7 +2890,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a Compute Engine instance.",
+"description": "URI of a Compute Engine instance in format \"projects/{project}/zones/{zone}/instances/{instance}\"",
 "type": "string"
 }
 },
@@ -2901,7 +2901,7 @@
 "id": "InterconnectAttachmentInfo",
 "properties": {
 "cloudRouterUri": {
-"description": "URI of the Cloud Router to be used for dynamic routing.",
+"description": "URI of the Cloud Router to be used for dynamic routing. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`",
 "type": "string"
 },
 "displayName": {
@@ -2909,7 +2909,7 @@
 "type": "string"
 },
 "interconnectUri": {
-"description": "URI of the Interconnect where the Interconnect attachment is configured.",
+"description": "URI of the Interconnect. Format: `projects/{project_id}/global/interconnects/{interconnect_id}`",
 "type": "string"
 },
 "l2AttachmentMatchedIpAddress": {
@@ -2939,7 +2939,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of an Interconnect attachment.",
+"description": "URI of the Interconnect attachment. Format: `projects/{project_id}/regions/{region}/interconnectAttachments/{attachment_id}`",
 "type": "string"
 }
 },
@@ -3141,7 +3141,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a Compute Engine instance or network endpoint.",
+"description": "URI of the backend instance or network endpoint. Format: * `projects/{project_id}/zones/{zone}/instances/{instance_id}` (instance) * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)",
 "type": "string"
 }
 },
@@ -3152,11 +3152,11 @@
 "id": "LoadBalancerBackendInfo",
 "properties": {
 "backendBucketUri": {
-"description": "URI of the backend bucket this backend targets (if applicable).",
+"description": "URI of the backend bucket this backend targets (if applicable) in format \"projects/{project}/global/backendBuckets/{backend_bucket}\".",
 "type": "string"
 },
 "backendServiceUri": {
-"description": "URI of the backend service this backend belongs to (if applicable).",
+"description": "URI of the backend service this backend belongs to (if applicable) in format \"projects/{project}/regions/{region}/backendServices/{backend_service}\" (regional) or \"projects/{project}/global/backendServices/{backend_service}\" (global).",
 "type": "string"
 },
 "healthCheckFirewallsConfigState": {
@@ -3179,15 +3179,15 @@
 "type": "string"
 },
 "healthCheckUri": {
-"description": "URI of the health check attached to this backend (if applicable).",
+"description": "URI of the health check attached to this backend (if applicable). Format: * `projects/{project_id}/global/healthChecks/{health_check_id}` * `projects/{project_id}/regions/{region}/healthChecks/{health_check_id}` * `projects/{project_id}/global/httpHealthChecks/{health_check_id}` (legacy)",
 "type": "string"
 },
 "instanceGroupUri": {
-"description": "URI of the instance group this backend belongs to (if applicable).",
+"description": "URI of the instance group this backend belongs to (if applicable) in format \"projects/{project}/zones/{zone}/instanceGroups/{instance_group}\".",
 "type": "string"
 },
 "instanceUri": {
-"description": "URI of the backend instance (if applicable). Populated for instance group backends, and zonal NEG backends.",
+"description": "URI of the backend instance (if applicable) in format \"projects/{project}/zones/{zone}/instances/{instance}\". Populated for instance group backends, and zonal NEG backends.",
 "type": "string"
 },
 "name": {
@@ -3195,7 +3195,7 @@
 "type": "string"
 },
 "networkEndpointGroupUri": {
-"description": "URI of the network endpoint group this backend belongs to (if applicable).",
+"description": "URI of the network endpoint group this backend belongs to (if applicable) Format: * `projects/{project_id}/zones/{zone}/networkEndpointGroups/{neg_id}` (zonal NEG) * `projects/{project_id}/regions/{region}/networkEndpointGroups/{neg_id}` (regional NEG) * `projects/{project_id}/global/networkEndpointGroups/{neg_id}` (global NEG)",
 "type": "string"
 },
 "pscGoogleApiTarget": {
@@ -3203,7 +3203,7 @@
 "type": "string"
 },
 "pscServiceAttachmentUri": {
-"description": "URI of the PSC service attachment this PSC NEG backend targets (if applicable).",
+"description": "URI of the PSC service attachment this PSC NEG backend targets (if applicable) in format \"projects/{project}/regions/{region}/serviceAttachments/{service_attachment}\".",
 "type": "string"
 }
 },
@@ -3230,7 +3230,7 @@
 "type": "string"
 },
 "backendUri": {
-"description": "Backend configuration URI.",
+"description": "URI of the backend associated with the load balancer. Format: * `projects/{project_id}/regions/{region}/backendServices/{backend_service_id}` * `projects/{project_id}/global/backendServices/{backend_service_id}` * `projects/{project_id}/regions/{region}/targetPools/{target_pool_id}` * `projects/{project_id}/zones/{zone}/targetInstances/{target_instance_id}`",
 "type": "string"
 },
 "backends": {
@@ -3331,7 +3331,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "URI of the network where NAT translation takes place.",
+"description": "URI of the VPC network where NAT translation takes place. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "newDestinationIp": {
@@ -3375,7 +3375,7 @@
 "type": "string"
 },
 "routerUri": {
-"description": "Uri of the Cloud Router. Only valid when type is CLOUD_NAT.",
+"description": "URI of the Cloud Router. Only valid when type is CLOUD_NAT. Format: `projects/{project_id}/regions/{region}/routers/{router_id}`",
 "type": "string"
 },
 "type": {
@@ -3414,7 +3414,7 @@
 "type": "string"
 },
 "matchedSubnetUri": {
-"description": "URI of the subnet matching the source IP address of the test.",
+"description": "URI of the subnet matching the source IP address of the test in format \"projects/{project}/regions/{region}/subnetworks/{subnetwork}\"",
 "type": "string"
 },
 "region": {
@@ -3422,7 +3422,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a Compute Engine network.",
+"description": "URI of a Compute Engine network in format \"projects/{project}/global/networks/{network}\"",
 "type": "string"
 }
 },
@@ -3433,7 +3433,7 @@
 "id": "NgfwPacketInspectionInfo",
 "properties": {
 "securityProfileGroupUri": {
-"description": "URI of the security profile group associated with this firewall packet inspection.",
+"description": "URI of the security profile group associated with this firewall packet inspection. Format: `organizations/{organization_id}/locations/global/securityProfileGroups/{security_profile_group_id}`",
 "type": "string"
 }
 },
@@ -3639,7 +3639,7 @@
 "id": "ProxyConnectionInfo",
 "properties": {
 "networkUri": {
-"description": "URI of the network where connection is proxied.",
+"description": "URI of the VPC network where connection is proxied. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "newDestinationIp": {
@@ -3683,7 +3683,7 @@
 "type": "string"
 },
 "subnetUri": {
-"description": "Uri of proxy subnet.",
+"description": "URI of the proxy subnet. Format: `projects/{project_id}/regions/{region}/subnetworks/{subnetwork_id}`",
 "type": "string"
 }
 },
@@ -3795,7 +3795,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "URI of a Cloud Redis Instance network.",
+"description": "URI of a Cloud Redis Instance network in format \"projects/{project}/global/networks/{network}\".",
 "type": "string"
 },
 "primaryEndpointIp": {
@@ -3811,7 +3811,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a Cloud Redis Instance.",
+"description": "URI of a Cloud Redis Instance in format \"projects/{project}/locations/{location}/instances/{instance}\"",
 "type": "string"
 }
 },
@@ -3833,7 +3833,7 @@
 "type": "string"
 },
 "advertisedRouteSourceRouterUri": {
-"description": "For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix.",
+"description": "For ADVERTISED dynamic routes, the URI of the Cloud Router that advertised the corresponding IP prefix in format \"projects/{project}/regions/{region}/routers/{router}\".",
 "type": "string"
 },
 "destIpRange": {
@@ -3859,19 +3859,19 @@
 "type": "array"
 },
 "nccHubRouteUri": {
-"description": "For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub's routing table.",
+"description": "For PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub, the URI of the corresponding route in NCC Hub's routing table. Format: `projects/{project_id}/locations/global/hubs/{hub_id}/routeTables/{route_table_id}/routes/{route_id}`",
 "type": "string"
 },
 "nccHubUri": {
-"description": "URI of the NCC Hub the route is advertised by. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.",
+"description": "URI of the NCC Hub the route is advertised by in format \"projects/{project}/locations/global/hubs/{hub}\". PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.",
 "type": "string"
 },
 "nccSpokeUri": {
-"description": "URI of the destination NCC Spoke. PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.",
+"description": "URI of the destination NCC Spoke in format \"projects/{project}/locations/{location}/spokes/{spoke}\" (regional) or \"projects/{project}/locations/global/spokes/{spoke}\" (global). PEERING_SUBNET and PEERING_DYNAMIC routes that are advertised by NCC Hub only.",
 "type": "string"
 },
 "networkUri": {
-"description": "URI of a VPC network where route is located.",
+"description": "URI of a VPC network where route is located in format \"projects/{project}/global/networks/{network}\".",
 "type": "string"
 },
 "nextHop": {
@@ -3880,7 +3880,7 @@
 "type": "string"
 },
 "nextHopNetworkUri": {
-"description": "URI of a VPC network where the next hop resource is located.",
+"description": "URI of a VPC network where the next hop resource is located in format \"projects/{project}/global/networks/{network}\".",
 "type": "string"
 },
 "nextHopType": {
@@ -3928,7 +3928,7 @@
 "type": "string"
 },
 "originatingRouteUri": {
-"description": "For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route.",
+"description": "For PEERING_SUBNET and PEERING_STATIC routes, the URI of the originating SUBNET/STATIC route. Format: `projects/{project_id}/global/routes/{route_id}`",
 "type": "string"
 },
 "priority": {
@@ -4000,7 +4000,7 @@
 "type": "array"
 },
 "uri": {
-"description": "URI of a route. SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.",
+"description": "URI of a route in format \"projects/{project}/global/routes/{route}\". SUBNET, STATIC, PEERING_SUBNET (only for peering network) and POLICY_BASED routes only.",
 "type": "string"
 }
 },
@@ -4022,7 +4022,7 @@
 "id": "ServerlessNegInfo",
 "properties": {
 "negUri": {
-"description": "URI of the serverless network endpoint group.",
+"description": "URI of the serverless network endpoint group in format \"projects/{project}/regions/{region}/networkEndpointGroups/{network_endpoint_group}\".",
 "type": "string"
 }
 },
@@ -4551,7 +4551,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a VPC connector.",
+"description": "URI of a VPC connector. Format: `projects/{project_id}/locations/{location}/connectors/{connector_id}`",
 "type": "string"
 }
 },
@@ -4717,7 +4717,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "URI of a Compute Engine network where the VPN gateway is configured.",
+"description": "URI of the VPC network where the VPN gateway is configured. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "region": {
@@ -4725,11 +4725,11 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a VPN gateway.",
+"description": "URI of the VPN gateway. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)",
 "type": "string"
 },
 "vpnTunnelUri": {
-"description": "A VPN tunnel that is associated with this VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed.",
+"description": "URI of the VPN tunnel associated with the VPN gateway. There may be multiple VPN tunnels configured on a VPN gateway, and only the one relevant to the test is displayed. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`",
 "type": "string"
 }
 },
@@ -4744,7 +4744,7 @@
 "type": "string"
 },
 "networkUri": {
-"description": "URI of a Compute Engine network where the VPN tunnel is configured.",
+"description": "URI of the VPC network where the VPN tunnel is configured. Format: `projects/{project_id}/global/networks/{network_id}`",
 "type": "string"
 },
 "region": {
@@ -4752,7 +4752,7 @@
 "type": "string"
 },
 "remoteGateway": {
-"description": "URI of a VPN gateway at remote end of the tunnel.",
+"description": "URI of a VPN gateway at remote end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (GCP HA VPN gateway) * `projects/{project_id}/global/peerVpnGateways/{peer_vpn_gateway_id}` (GCP peer VPN gateway)",
 "type": "string"
 },
 "remoteGatewayIp": {
@@ -4776,7 +4776,7 @@
 "type": "string"
 },
 "sourceGateway": {
-"description": "URI of the VPN gateway at local end of the tunnel.",
+"description": "URI of the VPN gateway at local end of the tunnel. Format: * `projects/{project_id}/regions/{region}/vpnGateways/{vpn_gateway_id}` (HA VPN gateway) * `projects/{project_id}/regions/{region}/targetVpnGateways/{target_vpn_gateway_id}` (Classic VPN gateway)",
 "type": "string"
 },
 "sourceGatewayIp": {
@@ -4784,7 +4784,7 @@
 "type": "string"
 },
 "uri": {
-"description": "URI of a VPN tunnel.",
+"description": "URI of the VPN tunnel. Format: `projects/{project_id}/regions/{region}/vpnTunnels/{vpn_tunnel_id}`",
 "type": "string"
 }
 },
diff --git a/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json b/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json
index db8e639..9838a72 100644
--- a/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/networksecurity.v1beta1.json
@@ -6331,7 +6331,7 @@
 }
 }
 },
-"revision": "20260524",
+"revision": "20260617",
 "rootUrl": "https://networksecurity.googleapis.com/",
 "schemas": {
 "AddAddressGroupItemsRequest": {
@@ -9452,6 +9452,12 @@
 "description": "Immutable. The VPC network that is associated. for example: `projects/123456789/global/networks/my-network`. See https://google.aip.dev/124.",
 "type": "string"
 },
+"networkCookie": {
+"description": "Output only. Identifier used by the data-path. See the NSI GENEVE format for more details: https://docs.cloud.google.com/network-security-integration/docs/understand-geneve#network_id",
+"format": "uint32",
+"readOnly": true,
+"type": "integer"
+},
 "reconciling": {
 "description": "Output only. The current state of the resource does not match the user's intended state, and the system is working to reconcile them. This part of the normal operation (e.g. adding a new location to the target deployment group). See https://google.aip.dev/128.",
 "readOnly": true,
diff --git a/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json b/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json
index 54cfb5b..8a84051 100644
--- a/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json
+++ b/googleapiclient/discovery_cache/documents/ondemandscanning.v1.json
@@ -344,7 +344,7 @@
 }
 }
 },
-"revision": "20260601",
+"revision": "20260622",
 "rootUrl": "https://ondemandscanning.googleapis.com/",
 "schemas": {
 "AISkillAnalysisOccurrence": {
@@ -858,6 +858,24 @@
 ],
 "type": "string"
 },
+"exploitMaturity": {
+"description": "Exploit Maturity (E). Defined in CVSS v4.",
+"enum": [
+"EXPLOIT_MATURITY_UNSPECIFIED",
+"EXPLOIT_MATURITY_NOT_DEFINED",
+"EXPLOIT_MATURITY_ATTACKED",
+"EXPLOIT_MATURITY_POC",
+"EXPLOIT_MATURITY_UNREPORTED"
+],
+"enumDescriptions": [
+"Unspecified.",
+"Exploit maturity: Not defined (E:X). Defined in CVSS v4.",
+"Exploit maturity: Attacked (E:A). Defined in CVSS v4.",
+"Exploit maturity: Proof-of-concept (E:P). Defined in CVSS v4.",
+"Exploit maturity: Unreported (E:U). Defined in CVSS v4."
+],
+"type": "string"
+},
 "exploitabilityScore": {
 "format": "float",
 "type": "number"
@@ -1467,12 +1485,14 @@
 "enum": [
 "SCANNER_UNSPECIFIED",
 "STATIC",
-"LLM"
+"LLM",
+"WS_POLICY"
 ],
 "enumDescriptions": [
 "Unspecified scanner.",
 "Static scanner.",
-"LLM scanner."
+"LLM scanner.",
+"WS_POLICY scanner."
 ],
 "type": "string"
 },
@@ -1888,6 +1908,34 @@
 },
 "type": "object"
 },
+"IngestionSource": {
+"description": "Indicates where an extracted package originates from.",
+"id": "IngestionSource",
+"properties": {
+"attachmentUri": {
+"description": "The attachment URI that this package was extracted from.",
+"type": "string"
+},
+"resourceUrl": {
+"description": "The resource URL of the resource that was scanned to find this package.",
+"type": "string"
+},
+"source": {
+"enum": [
+"SOURCE_UNSPECIFIED",
+"DOCKER_IMAGE",
+"SBOM_ATTACHMENT"
+],
+"enumDescriptions": [
+"",
+"",
+""
+],
+"type": "string"
+}
+},
+"type": "object"
+},
 "Justification": {
 "description": "Justification provides the justification when the state of the assessment if NOT_AFFECTED.",
 "id": "Justification",
@@ -2353,6 +2401,13 @@
 "description": "HashDigest stores the SHA512 hash digest of the jar file if the package is of type Maven. This field will be unset for non Maven packages.",
 "type": "string"
 },
+"ingestionSources": {
+"description": "The list of sources that were scanned to find this package. This can be a Docker image, an SBOM attachment, or both, for example.",
+"items": {
+"$ref": "IngestionSource"
+},
+"type": "array"
+},
 "layerDetails": {
 "$ref": "LayerDetails"
 },
diff --git a/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json b/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json
index d9401b5..5788d3a 100644
--- a/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/ondemandscanning.v1beta1.json
@@ -344,7 +344,7 @@
 }
 }
 },
-"revision": "20260601",
+"revision": "20260622",
 "rootUrl": "https://ondemandscanning.googleapis.com/",
 "schemas": {
 "AISkillAnalysisOccurrence": {
@@ -853,6 +853,24 @@
 ],
 "type": "string"
 },
+"exploitMaturity": {
+"description": "Exploit Maturity (E). Defined in CVSS v4.",
+"enum": [
+"EXPLOIT_MATURITY_UNSPECIFIED",
+"EXPLOIT_MATURITY_NOT_DEFINED",
+"EXPLOIT_MATURITY_ATTACKED",
+"EXPLOIT_MATURITY_POC",
+"EXPLOIT_MATURITY_UNREPORTED"
+],
+"enumDescriptions": [
+"Unspecified.",
+"Exploit maturity: Not defined (E:X). Defined in CVSS v4.",
+"Exploit maturity: Attacked (E:A). Defined in CVSS v4.",
+"Exploit maturity: Proof-of-concept (E:P). Defined in CVSS v4.",
+"Exploit maturity: Unreported (E:U). Defined in CVSS v4."
+],
+"type": "string"
+},
 "exploitabilityScore": {
 "format": "float",
 "type": "number"
@@ -1462,12 +1480,14 @@
 "enum": [
 "SCANNER_UNSPECIFIED",
 "STATIC",
-"LLM"
+"LLM",
+"WS_POLICY"
 ],
 "enumDescriptions": [
 "Unspecified scanner.",
 "Static scanner.",
-"LLM scanner."
+"LLM scanner.",
+"WS_POLICY scanner."
 ],
 "type": "string"
 },
@@ -1883,6 +1903,34 @@
 },
 "type": "object"
 },
+"IngestionSource": {
+"description": "Indicates where an extracted package originates from.",
+"id": "IngestionSource",
+"properties": {
+"attachmentUri": {
+"description": "The attachment URI that this package was extracted from.",
+"type": "string"
+},
+"resourceUrl": {
+"description": "The resource URL of the resource that was scanned to find this package.",
+"type": "string"
+},
+"source": {
+"enum": [
+"SOURCE_UNSPECIFIED",
+"DOCKER_IMAGE",
+"SBOM_ATTACHMENT"
+],
+"enumDescriptions": [
+"",
+"",
+""
+],
+"type": "string"
+}
+},
+"type": "object"
+},
 "Justification": {
 "description": "Justification provides the justification when the state of the assessment if NOT_AFFECTED.",
 "id": "Justification",
@@ -2348,6 +2396,13 @@
 "description": "HashDigest stores the SHA512 hash digest of the jar file if the package is of type Maven. This field will be unset for non Maven packages.",
 "type": "string"
 },
+"ingestionSources": {
+"description": "The list of sources that were scanned to find this package. This can be a Docker image, an SBOM attachment, or both, for example.",
+"items": {
+"$ref": "IngestionSource"
+},
+"type": "array"
+},
 "layerDetails": {
 "$ref": "LayerDetails"
 },
diff --git a/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json b/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json
index 16de30a..0f8bd55 100644
--- a/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json
+++ b/googleapiclient/discovery_cache/documents/pagespeedonline.v5.json
@@ -129,7 +129,8 @@
 "BEST_PRACTICES",
 "PERFORMANCE",
 "PWA",
-"SEO"
+"SEO",
+"AGENTIC_BROWSING"
 ],
 "enumDeprecated": [
 false,
@@ -137,6 +138,7 @@
 false,
 false,
 true,
+false,
 false
 ],
 "enumDescriptions": [
@@ -145,7 +147,8 @@
 "Best Practices, category pertaining to a website's conformance to web best practice.",
 "Performance, category pertaining to a website's performance.",
 "Progressive Web App (PWA), category pertaining to a website's ability to be run as a PWA. This is deprecated in Lighthouse's 12.0 release.",
-"Search Engine Optimization (SEO), category pertaining to a website's ability to be indexed by search engines."
+"Search Engine Optimization (SEO), category pertaining to a website's ability to be indexed by search engines.",
+"Agentic Browsing, category pertaining to a website's ability to be rendered by an agentic browsing system."
 ],
 "location": "query",
 "repeated": true,
@@ -201,7 +204,7 @@
 }
 }
 },
-"revision": "20260610",
+"revision": "20260624",
 "rootUrl": "https://pagespeedonline.googleapis.com/",
 "schemas": {
 "AuditRefs": {
diff --git a/googleapiclient/discovery_cache/documents/policytroubleshooter.v3beta.json b/googleapiclient/discovery_cache/documents/policytroubleshooter.v3beta.json
index 007a976..71a233d 100644
--- a/googleapiclient/discovery_cache/documents/policytroubleshooter.v3beta.json
+++ b/googleapiclient/discovery_cache/documents/policytroubleshooter.v3beta.json
@@ -124,13 +124,54 @@
 "scopes": [
 "https://www.googleapis.com/auth/cloud-platform"
 ]
+},
+"troubleshootError": {
+"description": "Checks the access request associated with the error identifier and explains why the access is denied by IAM policies.",
+"flatPath": "v3beta/iam:troubleshootError",
+"httpMethod": "POST",
+"id": "policytroubleshooter.iam.troubleshootError",
+"parameterOrder": [],
+"parameters": {},
+"path": "v3beta/iam:troubleshootError",
+"request": {
+"$ref": "GoogleCloudPolicytroubleshooterIamV3betaTroubleshootIamPolicyErrorRequest"
+},
+"response": {
+"$ref": "GoogleCloudPolicytroubleshooterIamV3betaTroubleshootIamPolicyErrorResponse"
+},
+"scopes": [
+"https://www.googleapis.com/auth/cloud-platform"
+]
 }
 }
 }
 },
-"revision": "20260614",
+"revision": "20260623",
 "rootUrl": "https://policytroubleshooter.googleapis.com/",
 "schemas": {
+"GoogleCloudPolicytroubleshooterIamV3betaAccessContext": {
+"description": "Information about the principal, resource, and permission for the ErrorInfoId.",
+"id": "GoogleCloudPolicytroubleshooterIamV3betaAccessContext",
+"properties": {
+"name": {
+"description": "The relative resource name, not including the / prefix. For example, `projects/project-id`, `projects/-/serviceAccounts/11112222`",
+"type": "string"
+},
+"parent": {
+"description": "The full resource name of the parent where IAM policy is configured. For example, `//cloudresourcemanager.googleapis.com/folders/444446666`",
+"type": "string"
+},
+"permission": {
+"description": "Required. The IAM permission name provided by the user in the access denied request.",
+"type": "string"
+},
+"principal": {
+"description": "The email address of the principal who requested access. For example, `alice@example.com` or `my-service-account@my-project.iam.gserviceaccount.com`. The principal must be a Google Account or a service account. Other types of principals are not supported.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudPolicytroubleshooterIamV3betaAccessTuple": {
 "description": "Information about the principal, resource, and permission to check.",
 "id": "GoogleCloudPolicytroubleshooterIamV3betaAccessTuple",
@@ -1227,6 +1268,58 @@
 },
 "type": "object"
 },
+"GoogleCloudPolicytroubleshooterIamV3betaTroubleshootIamPolicyErrorRequest": {
+"description": "Request to troubleshoot access denial with the IAM error identifier.",
+"id": "GoogleCloudPolicytroubleshooterIamV3betaTroubleshootIamPolicyErrorRequest",
+"properties": {
+"errorInfoId": {
+"description": "This identifier is returned in the `ErrorInfo.metadata` with key 'error_info_id' when an access requests is denied by the IAM service.",
+"type": "string"
+}
+},
+"type": "object"
+},
+"GoogleCloudPolicytroubleshooterIamV3betaTroubleshootIamPolicyErrorResponse": {
+"description": "Response for troubleshoot access denial with the IAM error identifier.",
+"id": "GoogleCloudPolicytroubleshooterIamV3betaTroubleshootIamPolicyErrorResponse",
+"properties": {
+"accessContext": {
+"$ref": "GoogleCloudPolicytroubleshooterIamV3betaAccessContext",
+"description": "The access context associated with the ErrorInfoId."
+},
+"allowPolicyExplanation": {
+"$ref": "GoogleCloudPolicytroubleshooterIamV3betaAllowPolicyExplanation",
+"description": "An explanation of how the applicable IAM allow policies affect the final access state."
+},
+"denyPolicyExplanation": {
+"$ref": "GoogleCloudPolicytroubleshooterIamV3betaDenyPolicyExplanation",
+"description": "An explanation of how the applicable IAM deny policies affect the final access state."
+},
+"overallAccessState": {
+"description": "Indicates whether the principal has the permission to access the resource, based on evaluating all types of the applicable IAM policies.",
+"enum": [
+"OVERALL_ACCESS_STATE_UNSPECIFIED",
+"OVERALL_ACCESS_STATE_CAN_ACCESS",
+"OVERALL_ACCESS_STATE_CANNOT_ACCESS",
+"OVERALL_ACCESS_STATE_UNKNOWN_INFO",
+"OVERALL_ACCESS_STATE_UNKNOWN_CONDITIONAL"
+],
+"enumDescriptions": [
+"Not specified.",
+"The principal has the permission.",
+"The principal doesn't have the permission.",
+"The principal might have the permission, but the sender can't access all of the information needed to fully evaluate the principal's access.",
+"The principal might have the permission, but Policy Troubleshooter can't fully evaluate the principal's access because of the missing context to evaluate the condition."
+],
+"type": "string"
+},
+"pabPolicyExplanation": {
+"$ref": "GoogleCloudPolicytroubleshooterIamV3betaPABPolicyExplanation",
+"description": "An explanation of how the applicable principal access boundary policies affect the final access state."
+}
+},
+"type": "object"
+},
 "GoogleCloudPolicytroubleshooterIamV3betaTroubleshootIamPolicyRequest": {
 "description": "Request for TroubleshootIamPolicy.",
 "id": "GoogleCloudPolicytroubleshooterIamV3betaTroubleshootIamPolicyRequest",
diff --git a/googleapiclient/discovery_cache/documents/recommender.v1.json b/googleapiclient/discovery_cache/documents/recommender.v1.json
index fd2e585..211e2f4 100644
--- a/googleapiclient/discovery_cache/documents/recommender.v1.json
+++ b/googleapiclient/discovery_cache/documents/recommender.v1.json
@@ -15,6 +15,188 @@
 "description": "",
 "discoveryVersion": "v1",
 "documentationLink": "https://cloud.google.com/recommender/docs/",
+"endpoints": [
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-central1.rep.googleapis.com/",
+"location": "us-central1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-central2.rep.googleapis.com/",
+"location": "us-central2"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-east1.rep.googleapis.com/",
+"location": "us-east1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-east4.rep.googleapis.com/",
+"location": "us-east4"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-east5.rep.googleapis.com/",
+"location": "us-east5"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-east7.rep.googleapis.com/",
+"location": "us-east7"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-south1.rep.googleapis.com/",
+"location": "us-south1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-west1.rep.googleapis.com/",
+"location": "us-west1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-west2.rep.googleapis.com/",
+"location": "us-west2"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-west3.rep.googleapis.com/",
+"location": "us-west3"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-west4.rep.googleapis.com/",
+"location": "us-west4"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-west8.rep.googleapis.com/",
+"location": "us-west8"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.asia-south1.rep.googleapis.com/",
+"location": "asia-south1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.asia-south2.rep.googleapis.com/",
+"location": "asia-south2"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-central2.rep.googleapis.com/",
+"location": "europe-central2"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-north1.rep.googleapis.com/",
+"location": "europe-north1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-north2.rep.googleapis.com/",
+"location": "europe-north2"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-southwest1.rep.googleapis.com/",
+"location": "europe-southwest1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west1.rep.googleapis.com/",
+"location": "europe-west1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west10.rep.googleapis.com/",
+"location": "europe-west10"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west12.rep.googleapis.com/",
+"location": "europe-west12"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west3.rep.googleapis.com/",
+"location": "europe-west3"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west4.rep.googleapis.com/",
+"location": "europe-west4"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west5.rep.googleapis.com/",
+"location": "europe-west5"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west6.rep.googleapis.com/",
+"location": "europe-west6"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west8.rep.googleapis.com/",
+"location": "europe-west8"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west9.rep.googleapis.com/",
+"location": "europe-west9"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.northamerica-northeast1.rep.googleapis.com/",
+"location": "northamerica-northeast1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.northamerica-northeast2.rep.googleapis.com/",
+"location": "northamerica-northeast2"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.me-central2.rep.googleapis.com/",
+"location": "me-central2"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us.rep.googleapis.com/",
+"location": "us"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.sa.rep.googleapis.com/",
+"location": "sa"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.in.rep.googleapis.com/",
+"location": "in"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.eu.rep.googleapis.com/",
+"location": "eu"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.ch.rep.googleapis.com/",
+"location": "ch"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.ca.rep.googleapis.com/",
+"location": "ca"
+}
+],
 "fullyEncodeReservedExpansion": true,
 "icons": {
 "x16": "http://www.google.com/images/icons/product/search-16.gif",
@@ -1686,7 +1868,7 @@
 }
 }
 },
-"revision": "20260208",
+"revision": "20260621",
 "rootUrl": "https://recommender.googleapis.com/",
 "schemas": {
 "GoogleCloudRecommenderV1CostProjection": {
diff --git a/googleapiclient/discovery_cache/documents/recommender.v1beta1.json b/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
index 77b78b2..c539643 100644
--- a/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/recommender.v1beta1.json
@@ -15,6 +15,188 @@
 "description": "",
 "discoveryVersion": "v1",
 "documentationLink": "https://cloud.google.com/recommender/docs/",
+"endpoints": [
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-central1.rep.googleapis.com/",
+"location": "us-central1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-central2.rep.googleapis.com/",
+"location": "us-central2"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-east1.rep.googleapis.com/",
+"location": "us-east1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-east4.rep.googleapis.com/",
+"location": "us-east4"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-east5.rep.googleapis.com/",
+"location": "us-east5"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-east7.rep.googleapis.com/",
+"location": "us-east7"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-south1.rep.googleapis.com/",
+"location": "us-south1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-west1.rep.googleapis.com/",
+"location": "us-west1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-west2.rep.googleapis.com/",
+"location": "us-west2"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-west3.rep.googleapis.com/",
+"location": "us-west3"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-west4.rep.googleapis.com/",
+"location": "us-west4"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us-west8.rep.googleapis.com/",
+"location": "us-west8"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.asia-south1.rep.googleapis.com/",
+"location": "asia-south1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.asia-south2.rep.googleapis.com/",
+"location": "asia-south2"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-central2.rep.googleapis.com/",
+"location": "europe-central2"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-north1.rep.googleapis.com/",
+"location": "europe-north1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-north2.rep.googleapis.com/",
+"location": "europe-north2"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-southwest1.rep.googleapis.com/",
+"location": "europe-southwest1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west1.rep.googleapis.com/",
+"location": "europe-west1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west10.rep.googleapis.com/",
+"location": "europe-west10"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west12.rep.googleapis.com/",
+"location": "europe-west12"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west3.rep.googleapis.com/",
+"location": "europe-west3"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west4.rep.googleapis.com/",
+"location": "europe-west4"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west5.rep.googleapis.com/",
+"location": "europe-west5"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west6.rep.googleapis.com/",
+"location": "europe-west6"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west8.rep.googleapis.com/",
+"location": "europe-west8"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.europe-west9.rep.googleapis.com/",
+"location": "europe-west9"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.northamerica-northeast1.rep.googleapis.com/",
+"location": "northamerica-northeast1"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.northamerica-northeast2.rep.googleapis.com/",
+"location": "northamerica-northeast2"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.me-central2.rep.googleapis.com/",
+"location": "me-central2"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.us.rep.googleapis.com/",
+"location": "us"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.sa.rep.googleapis.com/",
+"location": "sa"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.in.rep.googleapis.com/",
+"location": "in"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.eu.rep.googleapis.com/",
+"location": "eu"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.ch.rep.googleapis.com/",
+"location": "ch"
+},
+{
+"description": "Regional Endpoint",
+"endpointUrl": "https://recommender.ca.rep.googleapis.com/",
+"location": "ca"
+}
+],
 "fullyEncodeReservedExpansion": true,
 "icons": {
 "x16": "http://www.google.com/images/icons/product/search-16.gif",
@@ -1944,7 +2126,7 @@
 }
 }
 },
-"revision": "20260426",
+"revision": "20260621",
 "rootUrl": "https://recommender.googleapis.com/",
 "schemas": {
 "GoogleCloudLocationListLocationsResponse": {
diff --git a/googleapiclient/discovery_cache/documents/run.v1.json b/googleapiclient/discovery_cache/documents/run.v1.json
index 12c4e97..fa14054 100644
--- a/googleapiclient/discovery_cache/documents/run.v1.json
+++ b/googleapiclient/discovery_cache/documents/run.v1.json
@@ -459,6 +459,11 @@
 },
 {
 "description": "Regional Endpoint",
+"endpointUrl": "https://run.us-east7.rep.googleapis.com/",
+"location": "us-east7"
+},
+{
+"description": "Regional Endpoint",
 "endpointUrl": "https://run.us-south1.rep.googleapis.com/",
 "location": "us-south1"
 },
@@ -486,11 +491,6 @@
 "description": "Regional Endpoint",
 "endpointUrl": "https://run.us-west8.rep.googleapis.com/",
 "location": "us-west8"
-},
-{
-"description": "Regional Endpoint",
-"endpointUrl": "https://run.us-east7.rep.googleapis.com/",
-"location": "us-east7"
 }
 ],
 "fullyEncodeReservedExpansion": true,
@@ -1062,7 +1062,7 @@
 "instances": {
 "methods": {
 "create": {
-"description": "Create a Instance.",
+"description": "Create an Instance.",
 "flatPath": "apis/run.googleapis.com/v1/namespaces/{namespacesId}/instances",
 "httpMethod": "POST",
 "id": "run.namespaces.instances.create",
@@ -1071,7 +1071,7 @@
 ],
 "parameters": {
 "parent": {
-"description": "Required. The namespace in which the Instance should be created. Replace {namespace} with the project ID or number. It takes the form namespaces/{namespace}. For example: namespaces/PROJECT_ID",
+"description": "Required. The resource's parent. In Cloud Run, it may be one of the following: * `{project_id_or_number}` * `namespaces/{project_id_or_number}` * `namespaces/{project_id_or_number}/instances` * `projects/{project_id_or_number}/locations/{region}` * `projects/{project_id_or_number}/regions/{region}` Parent resource namespace.",
 "location": "path",
 "pattern": "^namespaces/[^/]+$",
 "required": true,
@@ -1091,7 +1091,7 @@
 ]
 },
 "delete": {
-"description": "Delete a Instance.",
+"description": "Delete an Instance.",
 "flatPath": "apis/run.googleapis.com/v1/namespaces/{namespacesId}/instances/{instancesId}",
 "httpMethod": "DELETE",
 "id": "run.namespaces.instances.delete",
@@ -1110,7 +1110,7 @@
 "type": "string"
 },
 "name": {
-"description": "Required. The name of the Instance to delete. Replace {namespace} with the project ID or number. It takes the form namespaces/{namespace}. For example: namespaces/PROJECT_ID",
+"description": "Required. The fully qualified name of the Instance to delete. It can be any of the following forms: * `namespaces/{project_id_or_number}/instances/{instance_name}` (only when the `endpoint` is regional) * `projects/{project_id_or_number}/locations/{region}/instances/{instance_name}` * `projects/{project_id_or_number}/regions/{region}/instances/{instance_name}` Parent resource namespace.",
 "location": "path",
 "pattern": "^namespaces/[^/]+/instances/[^/]+$",
 "required": true,
@@ -1141,7 +1141,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. The name of the Instance to retrieve. It takes the form namespaces/{namespace}/instances/{Instance_name} and the `endpoint` must be regional. Replace {namespace} with the project ID or number.",
+"description": "Required. The fully qualified name of the Instance to retrieve. It can be any of the following forms: * `namespaces/{project_id_or_number}/instances/{instance_name}` (only when the `endpoint` is regional) * `projects/{project_id_or_number}/locations/{region}/instances/{instance_name}` * `projects/{project_id_or_number}/regions/{region}/instances/{instance_name}` Parent resource namespace.",
 "location": "path",
 "pattern": "^namespaces/[^/]+/instances/[^/]+$",
 "required": true,
@@ -1194,7 +1194,7 @@
 "type": "integer"
 },
 "parent": {
-"description": "Required. The namespace from which the Instances should be listed. Replace {namespace} with the project ID or number. It takes the form namespaces/{namespace}. For example: namespaces/PROJECT_ID",
+"description": "Required. The parent from where the resources should be listed. In Cloud Run, it may be one of the following: * `{project_id_or_number}` * `namespaces/{project_id_or_number}` * `namespaces/{project_id_or_number}/instances` * `projects/{project_id_or_number}/locations/{region}` * `projects/{project_id_or_number}/regions/{region}` Parent resource namespace.",
 "location": "path",
 "pattern": "^namespaces/[^/]+$",
 "required": true,
@@ -1231,7 +1231,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. The name of the Instance being replaced. Replace {namespace} with the project ID or number. It takes the form namespaces/{namespace}. For example: namespaces/PROJECT_ID",
+"description": "Required. The fully qualified name of the Instance being replaced. It can be any of the following forms: * `namespaces/{project_id_or_number}/instances/{instance_name}` (only when the `endpoint` is regional) * `projects/{project_id_or_number}/locations/{region}/instances/{instance_name}` * `projects/{project_id_or_number}/regions/{region}/instances/{instance_name}` Parent resource namespace.",
 "location": "path",
 "pattern": "^namespaces/[^/]+/instances/[^/]+$",
 "required": true,
@@ -2653,7 +2653,7 @@
 "instances": {
 "methods": {
 "getIamPolicy": {
-"description": "Get the IAM Access Control policy currently in effect for the given instance. This result does not include any inherited policies.",
+"description": "Gets the IAM Access Control policy currently in effect for the given instance. This result does not include any inherited policies.",
 "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}:getIamPolicy",
 "httpMethod": "GET",
 "id": "run.projects.locations.instances.getIamPolicy",
@@ -3612,7 +3612,7 @@
 }
 }
 },
-"revision": "20260612",
+"revision": "20260619",
 "rootUrl": "https://run.googleapis.com/",
 "schemas": {
 "Addressable": {
@@ -6260,7 +6260,7 @@
 "type": "object"
 },
 "Instance": {
-"description": "Instance represents the configuration of a single Instance, which references a container image which is run to completion.",
+"description": "An Instance represents the configuration of a single instance that references a container image and runs to completion.",
 "id": "Instance",
 "properties": {
 "apiVersion": {
@@ -6277,11 +6277,11 @@
 },
 "spec": {
 "$ref": "InstanceSpec",
-"description": "Optional. Specification of the desired behavior of a Instance."
+"description": "Optional. Specification of the desired behavior of an Instance."
 },
 "status": {
 "$ref": "InstanceStatus",
-"description": "Output only. Current status of a Instance.",
+"description": "Output only. Current status of an Instance.",
 "readOnly": true
 }
 },
@@ -6344,7 +6344,7 @@
 "type": "object"
 },
 "InstanceStatus": {
-"description": "InstanceStatus represents the current state of a Instance.",
+"description": "InstanceStatus represents the current state of an Instance.",
 "id": "InstanceStatus",
 "properties": {
 "conditions": {
@@ -6928,7 +6928,7 @@
 "additionalProperties": {
 "type": "string"
 },
-"description": "Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution . * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution . * `run.googleapis.com/execution-environment`: Revision, Execution . * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.",
+"description": "Unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. In Cloud Run, annotations with 'run.googleapis.com/' and 'autoscaling.knative.dev' are restricted, and the accepted annotations will be different depending on the resource type. * `autoscaling.knative.dev/maxScale`: Revision. * `autoscaling.knative.dev/minScale`: Revision. * `run.googleapis.com/base-images`: Service, Revision. * `run.googleapis.com/binary-authorization-breakglass`: Service, Job, * `run.googleapis.com/binary-authorization`: Service, Job, Execution. * `run.googleapis.com/build-base-image`: Service. * `run.googleapis.com/build-enable-automatic-updates`: Service. * `run.googleapis.com/build-environment-variables`: Service. * `run.googleapis.com/build-function-target`: Service, Revision. * `run.googleapis.com/build-id`: Service, Revision. * `run.googleapis.com/build-image-uri`: Service. * `run.googleapis.com/build-name`: Service. * `run.googleapis.com/build-service-account`: Service. * `run.googleapis.com/build-source-location`: Service, Revision. * `run.googleapis.com/build-worker-pool`: Service. * `run.googleapis.com/client-name`: All resources. * `run.googleapis.com/cloudsql-instances`: Revision, Execution, Instance. * `run.googleapis.com/container-dependencies`: Revision . * `run.googleapis.com/cpu-throttling`: Revision. * `run.googleapis.com/custom-audiences`: Service. * `run.googleapis.com/default-url-disabled`: Service. * `run.googleapis.com/description`: Service. * `run.googleapis.com/encryption-key-shutdown-hours`: Revision * `run.googleapis.com/encryption-key`: Revision, Execution, Instance. * `run.googleapis.com/execution-environment`: Revision, Execution. * `run.googleapis.com/gc-traffic-tags`: Service. * `run.googleapis.com/gpu-zonal-redundancy-disabled`: Revision. * `run.googleapis.com/health-check-disabled`: Revision. * `run.googleapis.com/ingress`: Service, Instance. * `run.googleapis.com/invoker-iam-disabled`: Service, Instance. * `run.googleapis.com/launch-stage`: Service, Job. * `run.googleapis.com/minScale`: Service. * `run.googleapis.com/maxScale`: Service. * `run.googleapis.com/manualInstanceCount`: Service. * `run.googleapis.com/network-interfaces`: Revision, Execution. * `run.googleapis.com/post-key-revocation-action-type`: Revision. `run.googleapis.com/scalingMode`: Service. * `run.googleapis.com/secrets`: Revision, Execution. * `run.googleapis.com/secure-session-agent`: Revision. * `run.googleapis.com/sessionAffinity`: Revision. * `run.googleapis.com/startup-cpu-boost`: Revision. * `run.googleapis.com/vpc-access-connector`: Revision, Execution . * `run.googleapis.com/vpc-access-egress`: Revision, Execution.",
 "type": "object"
 },
 "clusterName": {
@@ -7254,13 +7254,6 @@
 "description": "Optional. Runtime. Leave unset for default.",
 "type": "string"
 },
-"sandboxes": {
-"description": "Optional. Container templates that can be launched through the `sandbox` CLI.",
-"items": {
-"$ref": "Container"
-},
-"type": "array"
-},
 "serviceAccountName": {
 "description": "Email address of the IAM service account associated with the revision of the service. The service account represents the identity of the running revision, and determines what permissions the revision has. If not provided, the revision will use the project's default service account.",
 "type": "string"
diff --git a/googleapiclient/discovery_cache/documents/run.v2.json b/googleapiclient/discovery_cache/documents/run.v2.json
index 40b2473..4536494 100644
--- a/googleapiclient/discovery_cache/documents/run.v2.json
+++ b/googleapiclient/discovery_cache/documents/run.v2.json
@@ -459,6 +459,11 @@
 },
 {
 "description": "Regional Endpoint",
+"endpointUrl": "https://run.us-east7.rep.googleapis.com/",
+"location": "us-east7"
+},
+{
+"description": "Regional Endpoint",
 "endpointUrl": "https://run.us-south1.rep.googleapis.com/",
 "location": "us-south1"
 },
@@ -486,11 +491,6 @@
 "description": "Regional Endpoint",
 "endpointUrl": "https://run.us-west8.rep.googleapis.com/",
 "location": "us-west8"
-},
-{
-"description": "Regional Endpoint",
-"endpointUrl": "https://run.us-east7.rep.googleapis.com/",
-"location": "us-east7"
 }
 ],
 "fullyEncodeReservedExpansion": true,
@@ -746,6 +746,7 @@
 "type": "string"
 },
 "parent": {
+"description": "Required. The location and project in which this Instance should be created.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
@@ -770,7 +771,7 @@
 ]
 },
 "delete": {
-"description": "Deletes a Instance",
+"description": "Deletes an Instance",
 "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}",
 "httpMethod": "DELETE",
 "id": "run.projects.locations.instances.delete",
@@ -784,6 +785,7 @@
 "type": "string"
 },
 "name": {
+"description": "Required. The name of the Instance to delete.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$",
 "required": true,
@@ -805,7 +807,7 @@
 ]
 },
 "get": {
-"description": "Gets a Instance",
+"description": "Gets an Instance",
 "flatPath": "v2/projects/{projectsId}/locations/{locationsId}/instances/{instancesId}",
 "httpMethod": "GET",
 "id": "run.projects.locations.instances.get",
@@ -814,6 +816,7 @@
 ],
 "parameters": {
 "name": {
+"description": "Required. The name of the Instance to retrieve.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$",
 "required": true,
@@ -884,7 +887,7 @@
 "type": "string"
 },
 "parent": {
-"description": "Required. The location and project to list resources on. Format: projects/{project}/locations/{location}, where {project} can be project id or number.",
+"description": "Required. The location and project to list resources on.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+$",
 "required": true,
@@ -916,12 +919,12 @@
 ],
 "parameters": {
 "allowMissing": {
-"description": "Optional. If set to true, and if the Instance does not exist, it will create a new one. The caller must have 'run.instances.create' permissions if this is set to true and the Instance does not exist.",
+"description": "Optional. If set to `true`, and if the Instance does not exist, it will create a new one. The caller must have `run.instances.create` permissions if this is set to `true` and the Instance does not exist.",
 "location": "query",
 "type": "boolean"
 },
 "name": {
-"description": "The fully qualified name of this Instance. In CreateInstanceRequest, this field is ignored, and instead composed from CreateInstanceRequest.parent and CreateInstanceRequest.instance_id. Format: projects/{project}/locations/{location}/instances/{instance_id}",
+"description": "The fully qualified name of this Instance. In `CreateInstanceRequest`, this field is ignored, and instead composed from `CreateInstanceRequest.parent` and `CreateInstanceRequest.instance_id`.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$",
 "required": true,
@@ -990,7 +993,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. The name of the Instance to stop. Format: `projects/{project}/locations/{location}/instances/{instance}`, where `{project}` can be project id or number.",
+"description": "Required. The name of the Instance to start.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$",
 "required": true,
@@ -1019,7 +1022,7 @@
 ],
 "parameters": {
 "name": {
-"description": "Required. The name of the Instance to stop. Format: `projects/{project}/locations/{location}/instances/{instance}`, where `{project}` can be project id or number.",
+"description": "Required. The name of the Instance to stop.",
 "location": "path",
 "pattern": "^projects/[^/]+/locations/[^/]+/instances/[^/]+$",
 "required": true,
@@ -2610,7 +2613,7 @@
 }
 }
 },
-"revision": "20260612",
+"revision": "20260619",
 "rootUrl": "https://run.googleapis.com/",
 "schemas": {
 "GoogleCloudRunV2BinaryAuthorization": {
@@ -3709,7 +3712,7 @@
 "type": "string"
 },
 "encryptionKeyShutdownDuration": {
-"description": "If encryption_key_revocation_action is SHUTDOWN, the duration before shutting down all instances. The minimum increment is 1 hour.",
+"description": "If `encryption_key_revocation_action` is `SHUTDOWN`, the duration before shutting down all instances. The minimum increment is 1 hour.",
 "format": "google-duration",
 "type": "string"
 },
@@ -3724,7 +3727,7 @@
 "type": "string"
 },
 "generation": {
-"description": "Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.",
+"description": "Output only. A number that monotonically increases every time the user modifies the desired state. Please note that unlike v1, this is an `int64` value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.",
 "format": "int64",
 "readOnly": true,
 "type": "string"
@@ -3738,7 +3741,7 @@
 "type": "boolean"
 },
 "ingress": {
-"description": "Optional. Provides the ingress settings for this Instance. On output, returns the currently observed ingress settings, or INGRESS_TRAFFIC_UNSPECIFIED if no revision is active.",
+"description": "Optional. Provides the ingress settings for this Instance. On output, returns the currently observed ingress settings, or `INGRESS_TRAFFIC_UNSPECIFIED` if no revision is active.",
 "enum": [
 "INGRESS_TRAFFIC_UNSPECIFIED",
 "INGRESS_TRAFFIC_ALL",
@@ -3756,7 +3759,7 @@
 "type": "string"
 },
 "invokerIamDisabled": {
-"description": "Optional. Disables IAM permission check for run.routes.invoke for callers of this Instance. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.",
+"description": "Optional. Disables IAM permission check for `run.routes.invoke` for callers of this Instance. For more information, visit https://cloud.google.com/run/docs/securing/managing-access#invoker_check.",
 "type": "boolean"
 },
 "labels": {
@@ -3771,7 +3774,7 @@
 "type": "string"
 },
 "launchStage": {
-"description": "The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, GA is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if ALPHA is provided as input, but only BETA and GA-level features are used, this field will be BETA on output.",
+"description": "The launch stage as defined by [Google Cloud Platform Launch Stages](https://cloud.google.com/terms/launch-stages). Cloud Run supports `ALPHA`, `BETA`, and `GA`. If no value is specified, `GA` is assumed. Set the launch stage to a preview stage on input to allow use of preview features in that stage. On read (or output), describes whether the resource uses preview features. For example, if `ALPHA` is provided as input, but only `BETA` and `GA`-level features are used, this field will be `BETA` on output.",
 "enum": [
 "LAUNCH_STAGE_UNSPECIFIED",
 "UNIMPLEMENTED",
@@ -3800,7 +3803,7 @@
 "type": "string"
 },
 "name": {
-"description": "The fully qualified name of this Instance. In CreateInstanceRequest, this field is ignored, and instead composed from CreateInstanceRequest.parent and CreateInstanceRequest.instance_id. Format: projects/{project}/locations/{location}/instances/{instance_id}",
+"description": "The fully qualified name of this Instance. In `CreateInstanceRequest`, this field is ignored, and instead composed from `CreateInstanceRequest.parent` and `CreateInstanceRequest.instance_id`.",
 "type": "string"
 },
 "nodeSelector": {
@@ -3808,13 +3811,13 @@
 "description": "Optional. The node selector for the instance."
 },
 "observedGeneration": {
-"description": "Output only. The generation of this Instance currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an int64 value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.",
+"description": "Output only. The generation of this Instance currently serving traffic. See comments in `reconciling` for additional information on reconciliation process in Cloud Run. Please note that unlike v1, this is an `int64` value. As with most Google APIs, its JSON representation will be a `string` instead of an `integer`.",
 "format": "int64",
 "readOnly": true,
 "type": "string"
 },
 "reconciling": {
-"description": "Output only. Returns true if the Instance is currently being acted upon by the system to bring it into the desired state. When a new Instance is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Instance to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation` will have a transient value that might mismatch the intended state. Once reconciliation is over (and this field is false), there are two possible outcomes: reconciliation succeeded and the serving state matches the Instance, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`.",
+"description": "Output only. Returns `true` if the Instance is currently being acted upon by the system to bring it into the desired state. When a new Instance is created, or an existing one is updated, Cloud Run will asynchronously perform all necessary steps to bring the Instance to the desired serving state. This process is called reconciliation. While reconciliation is in process, `observed_generation` will have a transient value that might mismatch the intended state. Once reconciliation is over (and this field is `false`), there are two possible outcomes: reconciliation succeeded and the serving state matches the Instance, or there was an error, and reconciliation failed. This state can be found in `terminal_condition.state`.",
 "readOnly": true,
 "type": "boolean"
 },
@@ -4577,11 +4580,6 @@
 "readOnly": true,
 "type": "boolean"
 },
-"sandboxes": {
-"$ref": "GoogleCloudRunV2SandboxConfiguration",
-"description": "Output only. Configuration for sandboxes.",
-"readOnly": true
-},
 "satisfiesPzs": {
 "description": "Output only. Reserved for future use.",
 "readOnly": true,
@@ -4773,10 +4771,6 @@
 "description": "Optional. The unique name for the revision. If this field is omitted, it will be automatically generated based on the Service name.",
 "type": "string"
 },
-"sandboxes": {
-"$ref": "GoogleCloudRunV2SandboxConfiguration",
-"description": "Optional. Configuration for sandboxes."
-},
 "scaling": {
 "$ref": "GoogleCloudRunV2RevisionScaling",
 "description": "Optional. Scaling settings for this Revision."
@@ -4831,20 +4825,6 @@
 },
 "type": "object"
 },
-"GoogleCloudRunV2SandboxConfiguration": {
-"description": "Configuration for sandboxes.",
-"id": "GoogleCloudRunV2SandboxConfiguration",
-"properties": {
-"templates": {
-"description": "Required. Container templates that can be launched through the `sandbox` CLI.",
-"items": {
-"$ref": "GoogleCloudRunV2Container"
-},
-"type": "array"
-}
-},
-"type": "object"
-},
 "GoogleCloudRunV2SecretKeySelector": {
 "description": "SecretEnvVarSource represents a source for the value of an EnvVar.",
 "id": "GoogleCloudRunV2SecretKeySelector",
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1.json b/googleapiclient/discovery_cache/documents/securitycenter.v1.json
index 1541c56..fd656ca 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1.json
@@ -5591,7 +5591,7 @@
 }
 }
 },
-"revision": "20260615",
+"revision": "20260619",
 "rootUrl": "https://securitycenter.googleapis.com/",
 "schemas": {
 "Access": {
@@ -7688,6 +7688,9 @@
 },
 "type": "array"
 },
+"iamDetails": {
+"$ref": "GoogleCloudSecuritycenterV1IamDetails"
+},
 "indicator": {
 "$ref": "Indicator"
 },
@@ -8172,6 +8175,30 @@
 },
 "type": "object"
 },
+"GoogleCloudSecuritycenterV1IamDetails": {
+"id": "GoogleCloudSecuritycenterV1IamDetails",
+"properties": {
+"iamRolePermissions": {
+"items": {
+"$ref": "GoogleCloudSecuritycenterV1IamRolePermission"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"GoogleCloudSecuritycenterV1IamRolePermission": {
+"id": "GoogleCloudSecuritycenterV1IamRolePermission",
+"properties": {
+"name": {
+"type": "string"
+},
+"role": {
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudSecuritycenterV1MuteConfig": {
 "id": "GoogleCloudSecuritycenterV1MuteConfig",
 "properties": {
@@ -10550,6 +10577,9 @@
 },
 "type": "array"
 },
+"iamDetails": {
+"$ref": "GoogleCloudSecuritycenterV2IamDetails"
+},
 "indicator": {
 "$ref": "GoogleCloudSecuritycenterV2Indicator"
 },
@@ -10842,6 +10872,30 @@
 },
 "type": "object"
 },
+"GoogleCloudSecuritycenterV2IamDetails": {
+"id": "GoogleCloudSecuritycenterV2IamDetails",
+"properties": {
+"iamRolePermissions": {
+"items": {
+"$ref": "GoogleCloudSecuritycenterV2IamRolePermission"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"GoogleCloudSecuritycenterV2IamRolePermission": {
+"id": "GoogleCloudSecuritycenterV2IamRolePermission",
+"properties": {
+"name": {
+"type": "string"
+},
+"role": {
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudSecuritycenterV2Indicator": {
 "id": "GoogleCloudSecuritycenterV2Indicator",
 "properties": {
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json b/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
index 08c38eb..e4a55a4 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1beta1.json
@@ -869,7 +869,7 @@
 }
 }
 },
-"revision": "20260615",
+"revision": "20260619",
 "rootUrl": "https://securitycenter.googleapis.com/",
 "schemas": {
 "Access": {
@@ -2639,6 +2639,9 @@
 },
 "type": "array"
 },
+"iamDetails": {
+"$ref": "GoogleCloudSecuritycenterV1IamDetails"
+},
 "indicator": {
 "$ref": "Indicator"
 },
@@ -3123,6 +3126,30 @@
 },
 "type": "object"
 },
+"GoogleCloudSecuritycenterV1IamDetails": {
+"id": "GoogleCloudSecuritycenterV1IamDetails",
+"properties": {
+"iamRolePermissions": {
+"items": {
+"$ref": "GoogleCloudSecuritycenterV1IamRolePermission"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"GoogleCloudSecuritycenterV1IamRolePermission": {
+"id": "GoogleCloudSecuritycenterV1IamRolePermission",
+"properties": {
+"name": {
+"type": "string"
+},
+"role": {
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudSecuritycenterV1MuteConfig": {
 "id": "GoogleCloudSecuritycenterV1MuteConfig",
 "properties": {
@@ -5568,6 +5595,9 @@
 },
 "type": "array"
 },
+"iamDetails": {
+"$ref": "GoogleCloudSecuritycenterV2IamDetails"
+},
 "indicator": {
 "$ref": "GoogleCloudSecuritycenterV2Indicator"
 },
@@ -5860,6 +5890,30 @@
 },
 "type": "object"
 },
+"GoogleCloudSecuritycenterV2IamDetails": {
+"id": "GoogleCloudSecuritycenterV2IamDetails",
+"properties": {
+"iamRolePermissions": {
+"items": {
+"$ref": "GoogleCloudSecuritycenterV2IamRolePermission"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"GoogleCloudSecuritycenterV2IamRolePermission": {
+"id": "GoogleCloudSecuritycenterV2IamRolePermission",
+"properties": {
+"name": {
+"type": "string"
+},
+"role": {
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudSecuritycenterV2Indicator": {
 "id": "GoogleCloudSecuritycenterV2Indicator",
 "properties": {
diff --git a/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json b/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
index 7873fce..e762dc6 100644
--- a/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
+++ b/googleapiclient/discovery_cache/documents/securitycenter.v1beta2.json
@@ -1907,7 +1907,7 @@
 }
 }
 },
-"revision": "20260615",
+"revision": "20260619",
 "rootUrl": "https://securitycenter.googleapis.com/",
 "schemas": {
 "Access": {
@@ -3694,6 +3694,9 @@
 },
 "type": "array"
 },
+"iamDetails": {
+"$ref": "GoogleCloudSecuritycenterV1IamDetails"
+},
 "indicator": {
 "$ref": "Indicator"
 },
@@ -4159,6 +4162,30 @@
 },
 "type": "object"
 },
+"GoogleCloudSecuritycenterV1IamDetails": {
+"id": "GoogleCloudSecuritycenterV1IamDetails",
+"properties": {
+"iamRolePermissions": {
+"items": {
+"$ref": "GoogleCloudSecuritycenterV1IamRolePermission"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"GoogleCloudSecuritycenterV1IamRolePermission": {
+"id": "GoogleCloudSecuritycenterV1IamRolePermission",
+"properties": {
+"name": {
+"type": "string"
+},
+"role": {
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudSecuritycenterV1MuteConfig": {
 "id": "GoogleCloudSecuritycenterV1MuteConfig",
 "properties": {
@@ -6537,6 +6564,9 @@
 },
 "type": "array"
 },
+"iamDetails": {
+"$ref": "GoogleCloudSecuritycenterV2IamDetails"
+},
 "indicator": {
 "$ref": "GoogleCloudSecuritycenterV2Indicator"
 },
@@ -6829,6 +6859,30 @@
 },
 "type": "object"
 },
+"GoogleCloudSecuritycenterV2IamDetails": {
+"id": "GoogleCloudSecuritycenterV2IamDetails",
+"properties": {
+"iamRolePermissions": {
+"items": {
+"$ref": "GoogleCloudSecuritycenterV2IamRolePermission"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"GoogleCloudSecuritycenterV2IamRolePermission": {
+"id": "GoogleCloudSecuritycenterV2IamRolePermission",
+"properties": {
+"name": {
+"type": "string"
+},
+"role": {
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleCloudSecuritycenterV2Indicator": {
 "id": "GoogleCloudSecuritycenterV2Indicator",
 "properties": {
diff --git a/googleapiclient/discovery_cache/documents/storagetransfer.v1.json b/googleapiclient/discovery_cache/documents/storagetransfer.v1.json
index da38cf7..9c31b01 100644
--- a/googleapiclient/discovery_cache/documents/storagetransfer.v1.json
+++ b/googleapiclient/discovery_cache/documents/storagetransfer.v1.json
@@ -637,7 +637,7 @@
 }
 }
 },
-"revision": "20260109",
+"revision": "20260619",
 "rootUrl": "https://storagetransfer.googleapis.com/",
 "schemas": {
 "AgentPool": {
@@ -1334,6 +1334,13 @@
 },
 "type": "array"
 },
+"includeStorageClasses": {
+"description": "Optional. If specified, objects in the source matching any of the storage classes in this field will be transferred. Objects in storage classes not included in this field will be skipped. If empty, the default behavior regarding the storage classes is applied. This includes all storage classes except \"GLACIER\" as per default behavior. Currently, this field only supports S3 data source. For the list of valid Amazon S3 storage classnames, please refer to the AWS documentation: https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html",
+"items": {
+"type": "string"
+},
+"type": "array"
+},
 "lastModifiedBefore": {
 "description": "If specified, only objects with a \"last modification time\" before this timestamp and objects that don't have a \"last modification time\" are transferred.",
 "format": "google-datetime",
@@ -1901,7 +1908,7 @@
 "type": "boolean"
 },
 "deleteObjectsUniqueInSink": {
-"description": "Whether objects that exist only in the sink should be deleted. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.",
+"description": "Whether objects that exist only in the sink should be deleted from the sink. **Note:** This option and delete_objects_from_source_after_transfer are mutually exclusive.",
 "type": "boolean"
 },
 "metadataOptions": {
diff --git a/googleapiclient/discovery_cache/documents/sts.v1.json b/googleapiclient/discovery_cache/documents/sts.v1.json
index 7748a0f..6a8d19e 100644
--- a/googleapiclient/discovery_cache/documents/sts.v1.json
+++ b/googleapiclient/discovery_cache/documents/sts.v1.json
@@ -333,6 +333,134 @@
 },
 "protocol": "rest",
 "resources": {
+"organizations": {
+"resources": {
+"locations": {
+"resources": {
+"workloadIdentityPools": {
+"resources": {
+"openid": {
+"methods": {
+"getJwks": {
+"description": "Fetches the signing keys for an agentic or managed workload identity pool and returns them in JWKs format, defined in [RFC 7517](https://tools.ietf.org/html/rfc7517). For now, only agentic system pools are supported.",
+"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}/openid/jwks",
+"httpMethod": "GET",
+"id": "sts.organizations.locations.workloadIdentityPools.openid.getJwks",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the pool whose JWKS needs to be retrieved. Format: 'organizations/{ORGANIZATION_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}' 'projects/{PROJECT_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}' Example(s): 'organizations/1234/locations/global/workloadIdentityPools/agents.global.org-1234.system.id.goog' 'projects/12345678/locations/global/workloadIdentityPools/agents.global.proj-12345678.system.id.goog'",
+"location": "path",
+"pattern": "^organizations/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}/openid/jwks",
+"response": {
+"$ref": "GoogleIdentityStsV1Jwks"
+}
+}
+}
+},
+"well-known": {
+"methods": {
+"getOpenid-configuration": {
+"description": "Gets the OIDC provider configuration for an agentic or managed workload identity pool following [the OIDC 1.0 discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). For now, only agentic system pools are supported.",
+"flatPath": "v1/organizations/{organizationsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}/.well-known/openid-configuration",
+"httpMethod": "GET",
+"id": "sts.organizations.locations.workloadIdentityPools.well-known.getOpenid-configuration",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the pool whose OpenID provider configuration to retrieve. Format: 'organizations/{ORGANIZATION_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}' 'projects/{PROJECT_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}' Example: 'organizations/1234/locations/global/workloadIdentityPools/agents.global.org-1234.system.id.goog' 'projects/12345678/locations/global/workloadIdentityPools/agents.global.proj-12345678.system.id.goog'",
+"location": "path",
+"pattern": "^organizations/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}/.well-known/openid-configuration",
+"response": {
+"$ref": "GoogleIdentityStsV1OpenIdProviderConfig"
+}
+}
+}
+}
+}
+}
+}
+}
+}
+},
+"projects": {
+"resources": {
+"locations": {
+"resources": {
+"workloadIdentityPools": {
+"resources": {
+"openid": {
+"methods": {
+"getJwks": {
+"description": "Fetches the signing keys for an agentic or managed workload identity pool and returns them in JWKs format, defined in [RFC 7517](https://tools.ietf.org/html/rfc7517). For now, only agentic system pools are supported.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}/openid/jwks",
+"httpMethod": "GET",
+"id": "sts.projects.locations.workloadIdentityPools.openid.getJwks",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the pool whose JWKS needs to be retrieved. Format: 'organizations/{ORGANIZATION_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}' 'projects/{PROJECT_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}' Example(s): 'organizations/1234/locations/global/workloadIdentityPools/agents.global.org-1234.system.id.goog' 'projects/12345678/locations/global/workloadIdentityPools/agents.global.proj-12345678.system.id.goog'",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}/openid/jwks",
+"response": {
+"$ref": "GoogleIdentityStsV1Jwks"
+}
+}
+}
+},
+"well-known": {
+"methods": {
+"getOpenid-configuration": {
+"description": "Gets the OIDC provider configuration for an agentic or managed workload identity pool following [the OIDC 1.0 discovery specification](https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse). For now, only agentic system pools are supported.",
+"flatPath": "v1/projects/{projectsId}/locations/{locationsId}/workloadIdentityPools/{workloadIdentityPoolsId}/.well-known/openid-configuration",
+"httpMethod": "GET",
+"id": "sts.projects.locations.workloadIdentityPools.well-known.getOpenid-configuration",
+"parameterOrder": [
+"name"
+],
+"parameters": {
+"name": {
+"description": "Required. The name of the pool whose OpenID provider configuration to retrieve. Format: 'organizations/{ORGANIZATION_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}' 'projects/{PROJECT_NUMBER}/locations/global/workloadIdentityPools/{POOL_ID}' Example: 'organizations/1234/locations/global/workloadIdentityPools/agents.global.org-1234.system.id.goog' 'projects/12345678/locations/global/workloadIdentityPools/agents.global.proj-12345678.system.id.goog'",
+"location": "path",
+"pattern": "^projects/[^/]+/locations/[^/]+/workloadIdentityPools/[^/]+$",
+"required": true,
+"type": "string"
+}
+},
+"path": "v1/{+name}/.well-known/openid-configuration",
+"response": {
+"$ref": "GoogleIdentityStsV1OpenIdProviderConfig"
+}
+}
+}
+}
+}
+}
+}
+}
+}
+},
 "v1": {
 "methods": {
 "token": {
@@ -353,7 +481,7 @@
 }
 }
 },
-"revision": "20260318",
+"revision": "20260618",
 "rootUrl": "https://sts.googleapis.com/",
 "schemas": {
 "GoogleIamV1Binding": {
@@ -478,6 +606,91 @@
 },
 "type": "object"
 },
+"GoogleIdentityStsV1Jwk": {
+"description": "A JSON web key set (JWK) See also https://datatracker.ietf.org/doc/html/rfc7517 and https://github.com/spiffe/spiffe/blob/main/standards/JWT-SVID.md#6-representation-in-the-spiffe-bundle",
+"id": "GoogleIdentityStsV1Jwk",
+"properties": {
+"e": {
+"description": "Exponent value for kty=\"RSA\".",
+"type": "string"
+},
+"kid": {
+"description": "Key ID.",
+"type": "string"
+},
+"kty": {
+"description": "Key type. Currently \"RSA\".",
+"type": "string"
+},
+"n": {
+"description": "Modulus value for kty=\"RSA\".",
+"type": "string"
+},
+"use": {
+"description": "Public key use. Currently \"jwt-svid\".",
+"type": "string"
+}
+},
+"type": "object"
+},
+"GoogleIdentityStsV1Jwks": {
+"description": "Response message for GetJwks.",
+"id": "GoogleIdentityStsV1Jwks",
+"properties": {
+"keys": {
+"description": "The JWKS for this OP.",
+"items": {
+"$ref": "GoogleIdentityStsV1Jwk"
+},
+"type": "array"
+}
+},
+"type": "object"
+},
+"GoogleIdentityStsV1OpenIdProviderConfig": {
+"description": "Response message for GetOpenIdProviderConfig. Message fields are defined in https://openid.net/specs/openid-connect-discovery-1_0.html#ProviderConfigurationResponse",
+"id": "GoogleIdentityStsV1OpenIdProviderConfig",
+"properties": {
+"authorization_endpoint": {
+"description": "URL pointing to an authorization endpoint under this issuer. Note: Currently this endpoint returns a 404.",
+"type": "string"
+},
+"id_token_signing_alg_values_supported": {
+"description": "JSON array containing a list of the JWS signing algorithms (alg values) supported by the OP for the ID token to encode the claims in a JWT [JWT]. Note: Currently always \"[\"RS256\"]\".",
+"items": {
+"type": "string"
+},
+"type": "array"
+},
+"issuer": {
+"description": "URL using the https scheme with no query or fragment components that the OP asserts as its issuer identifier.",
+"type": "string"
+},
+"jwks_uri": {
+"description": "URL of the OP's JWK Set [JWK] document, which MUST use the https scheme.",
+"type": "string"
+},
+"response_types_supported": {
+"description": "JSON array containing a list of the OAuth 2.0 response_type values that this OP supports. Note: Currently always \"[\"id_token\"]\".",
+"items": {
+"type": "string"
+},
+"type": "array"
+},
+"subject_types_supported": {
+"description": "JSON array containing a list of the subject identifier types that this OP supports. Note: Currently always \"[\"public\"]\".",
+"items": {
+"type": "string"
+},
+"type": "array"
+},
+"token_endpoint": {
+"description": "URL pointing to a token endpoint under this issuer. Note: Currently this endpoint returns a 404.",
+"type": "string"
+}
+},
+"type": "object"
+},
 "GoogleIdentityStsV1Options": {
 "description": "An `Options` object configures features that the Security Token Service supports, but that are not supported by standard OAuth 2.0 token exchange endpoints, as defined in https://tools.ietf.org/html/rfc8693.",
 "id": "GoogleIdentityStsV1Options",
diff --git a/googleapiclient/discovery_cache/documents/travelimpactmodel.v1.json b/googleapiclient/discovery_cache/documents/travelimpactmodel.v1.json
index c5f49a3..370bfa5 100644
--- a/googleapiclient/discovery_cache/documents/travelimpactmodel.v1.json
+++ b/googleapiclient/discovery_cache/documents/travelimpactmodel.v1.json
@@ -161,7 +161,7 @@
 }
 }
 },
-"revision": "20260615",
+"revision": "20260624",
 "rootUrl": "https://travelimpactmodel.googleapis.com/",
 "schemas": {
 "ComputeDetailedFlightEmissionsRequest": {
@@ -568,11 +568,6 @@
 "readOnly": true,
 "type": "string"
 },
-"seatAreaRatioData": {
-"$ref": "SeatAreaRatioData",
-"description": "Output only. The seat area ratio value for each seating class. If not set, the seat area ratio value is not available.",
-"readOnly": true
-},
 "seatAreaRatioIataStrategy": {
 "description": "Output only. Strategy for IATA seat area ratios.",
 "enum": [
@@ -907,37 +902,6 @@
 },
 "type": "object"
 },
-"SeatAreaRatioData": {
-"description": "Seat area ratio data values. Economy is always 1.0 and serves as the reference point; other class values are relative to economy. All 4 fields are always set whether the seating class exists on the aircraft or not.",
-"id": "SeatAreaRatioData",
-"properties": {
-"business": {
-"description": "Output only. Business seating class data value.",
-"format": "double",
-"readOnly": true,
-"type": "number"
-},
-"economy": {
-"description": "Output only. Economy seating class data value.",
-"format": "double",
-"readOnly": true,
-"type": "number"
-},
-"first": {
-"description": "Output only. First seating class data value.",
-"format": "double",
-"readOnly": true,
-"type": "number"
-},
-"premiumEconomy": {
-"description": "Output only. Premium economy seating class data value.",
-"format": "double",
-"readOnly": true,
-"type": "number"
-}
-},
-"type": "object"
-},
 "TypicalFlightEmissions": {
 "description": "Typical flight emission estimates for a certain market",
 "id": "TypicalFlightEmissions",
