chore: Update discovery artifacts (#1381)

## Deleted keys were detected in the following stable discovery artifacts:
documentai v1 https://github.com/googleapis/google-api-python-client/commit/222030d8c1583f49657862a308b5eae41311d7e7
serviceconsumermanagement v1 https://github.com/googleapis/google-api-python-client/commit/e2046363f037151e02020ea178651b814c11761a
serviceusage v1 https://github.com/googleapis/google-api-python-client/commit/b79b21e71246ab6935214ca751125c83b1990167

## Deleted keys were detected in the following pre-stable discovery artifacts:
firebase v1beta1 https://github.com/googleapis/google-api-python-client/commit/6bd0412a11a1a55770415fdc76100b3c76a83a94
serviceconsumermanagement v1beta1 https://github.com/googleapis/google-api-python-client/commit/e2046363f037151e02020ea178651b814c11761a
serviceusage v1beta1 https://github.com/googleapis/google-api-python-client/commit/b79b21e71246ab6935214ca751125c83b1990167

## Discovery Artifact Change Summary:
feat(apigee): update the api https://github.com/googleapis/google-api-python-client/commit/37f31420ffc3adb1bdd23d7fc91f80701522aac8
feat(container): update the api https://github.com/googleapis/google-api-python-client/commit/514acdbf2c7eeaf6b1b9773c63b180131418ff57
feat(dlp): update the api https://github.com/googleapis/google-api-python-client/commit/7e3d1c4ab85d50307d42af3048f9a7dd47a2b9eb
feat(documentai): update the api https://github.com/googleapis/google-api-python-client/commit/222030d8c1583f49657862a308b5eae41311d7e7
feat(firebase): update the api https://github.com/googleapis/google-api-python-client/commit/6bd0412a11a1a55770415fdc76100b3c76a83a94
feat(ondemandscanning): update the api https://github.com/googleapis/google-api-python-client/commit/b77d12d24d17264123231dd86699fceada262440
feat(osconfig): update the api https://github.com/googleapis/google-api-python-client/commit/c541143744c4b077d0a044455a35d0de227a0bf6
feat(prod_tt_sasportal): update the api https://github.com/googleapis/google-api-python-client/commit/1e0f4a6e5e0bfde1ba4c06223d7fb02f63756690
feat(serviceconsumermanagement): update the api https://github.com/googleapis/google-api-python-client/commit/e2046363f037151e02020ea178651b814c11761a
feat(serviceusage): update the api https://github.com/googleapis/google-api-python-client/commit/b79b21e71246ab6935214ca751125c83b1990167
diff --git a/docs/dyn/apigee_v1.organizations.apiproducts.html b/docs/dyn/apigee_v1.organizations.apiproducts.html
index cd8e3ee..bbfd152 100644
--- a/docs/dyn/apigee_v1.organizations.apiproducts.html
+++ b/docs/dyn/apigee_v1.organizations.apiproducts.html
@@ -89,7 +89,7 @@
 <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 API product in an organization. You create API products after you have proxied backend services using API proxies. An API product is a collection of API resources combined with quota settings and metadata that you can use to deliver customized and productized API bundles to your developer community. This metadata can include: - Scope - Environments - API proxies - Extensible profile API products enable you repackage APIs on-the-fly, without having to do any additional coding or configuration. Apigee recommends that you start with a simple API product including only required elements. You then provision credentials to apps to enable them to start testing your APIs. After you have authentication and authorization working against a simple API product, you can iterate to create finer grained API products, defining different sets of API resources for each API product. **WARNING:** - If you don't specify an API proxy in the request body, *any* app associated with the product can make calls to *any* API in your entire organization. - If you don't specify an environment in the request body, the product allows access to all environments. For more information, see What is an API product?</p>
+<p class="firstline">Creates an API product in an organization. You create API products after you have proxied backend services using API proxies. An API product is a collection of API resources combined with quota settings and metadata that you can use to deliver customized and productized API bundles to your developer community. This metadata can include: - Scope - Environments - API proxies - Extensible profile API products enable you repackage APIs on the fly, without having to do any additional coding or configuration. Apigee recommends that you start with a simple API product including only required elements. You then provision credentials to apps to enable them to start testing your APIs. After you have authentication and authorization working against a simple API product, you can iterate to create finer-grained API products, defining different sets of API resources for each API product. **WARNING:** - If you don't specify an API proxy in the request body, *any* app associated with the product can make calls to *any* API in your entire organization. - If you don't specify an environment in the request body, the product allows access to all environments. For more information, see What is an API product?</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Deletes an API product from an organization. Deleting an API product causes app requests to the resource URIs defined in the API product to fail. Ensure that you create a new API product to serve existing apps, unless your intention is to disable access to the resources defined in the API product. The API product name required in the request URL is the internal name of the product, not the display name. While they may be the same, it depends on whether the API product was created via the UI or the API. View the list of API products to verify the internal name.</p>
@@ -98,10 +98,10 @@
 <p class="firstline">Gets configuration details for an API product. The API product name required in the request URL is the internal name of the product, not the display name. While they may be the same, it depends on whether the API product was created via the UI or the API. View the list of API products to verify the internal name.</p>
 <p class="toc_element">
   <code><a href="#list">list(parent, attributename=None, attributevalue=None, count=None, expand=None, startKey=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Lists all API product names for an organization. Filter the list by passing an `attributename` and `attibutevalue`. The limit on the number of API products returned by the API is 1000. You can paginate the list of API products returned using the `startKey` and `count` query parameters.</p>
+<p class="firstline">Lists all API product names for an organization. Filter the list by passing an `attributename` and `attibutevalue`. The maximum number of API products returned is 1000. You can paginate the list of API products returned using the `startKey` and `count` query parameters.</p>
 <p class="toc_element">
   <code><a href="#update">update(name, body=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Updates an existing API product. You must include all required values, whether or not you are updating them, as well as any optional values that you are updating. The API product name required in the request URL is the internal name of the product, not the Display Name. While they may be the same, it depends on whether the API product was created via UI or API. View the list of API products to identify their internal names.</p>
+<p class="firstline">Updates an existing API product. You must include all required values, whether or not you are updating them, as well as any optional values that you are updating. The API product name required in the request URL is the internal name of the product, not the display name. While they may be the same, it depends on whether the API product was created via UI or API. View the list of API products to identify their internal names.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -110,7 +110,7 @@
 
 <div class="method">
     <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
-  <pre>Creates an API product in an organization. You create API products after you have proxied backend services using API proxies. An API product is a collection of API resources combined with quota settings and metadata that you can use to deliver customized and productized API bundles to your developer community. This metadata can include: - Scope - Environments - API proxies - Extensible profile API products enable you repackage APIs on-the-fly, without having to do any additional coding or configuration. Apigee recommends that you start with a simple API product including only required elements. You then provision credentials to apps to enable them to start testing your APIs. After you have authentication and authorization working against a simple API product, you can iterate to create finer grained API products, defining different sets of API resources for each API product. **WARNING:** - If you don&#x27;t specify an API proxy in the request body, *any* app associated with the product can make calls to *any* API in your entire organization. - If you don&#x27;t specify an environment in the request body, the product allows access to all environments. For more information, see What is an API product?
+  <pre>Creates an API product in an organization. You create API products after you have proxied backend services using API proxies. An API product is a collection of API resources combined with quota settings and metadata that you can use to deliver customized and productized API bundles to your developer community. This metadata can include: - Scope - Environments - API proxies - Extensible profile API products enable you repackage APIs on the fly, without having to do any additional coding or configuration. Apigee recommends that you start with a simple API product including only required elements. You then provision credentials to apps to enable them to start testing your APIs. After you have authentication and authorization working against a simple API product, you can iterate to create finer-grained API products, defining different sets of API resources for each API product. **WARNING:** - If you don&#x27;t specify an API proxy in the request body, *any* app associated with the product can make calls to *any* API in your entire organization. - If you don&#x27;t specify an environment in the request body, the product allows access to all environments. For more information, see What is an API product?
 
 Args:
   parent: string, Required. Name of the organization in which the API product will be created. Use the following structure in your request: `organizations/{org}` (required)
@@ -135,25 +135,25 @@
     &quot;A String&quot;,
   ],
   &quot;graphqlOperationGroup&quot;: { # List of graphQL operation configuration details associated with Apigee API proxies or remote services. Remote services are non-Apigee proxies, such as Istio-Envoy. # Configuration used to group Apigee proxies or remote services with graphQL operation name, graphQL operation type and quotas. This grouping allows us to precisely set quota for a particular combination of graphQL name and operation type for a particular proxy request. If graphQL name is not set, this would imply quota will be applied on all graphQL requests matching the operation type.
-    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
+    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifies whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
     &quot;operationConfigs&quot;: [ # Required. List of operation configurations for either Apigee API proxies or other remote services that are associated with this API product.
-      { # GraphQLOperationConfig binds the resources in a proxy or remote service with the graphQL operation and its associated quota enforcement.
-        &quot;apiSource&quot;: &quot;A String&quot;, # Required. API proxy endpoint or remote service name with which the graphQL operation, and quota are associated.
+      { # Binds the resources in a proxy or remote service with the GraphQL operation and its associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy endpoint or remote service with which the GraphQL operation and quota are associated.
         &quot;attributes&quot;: [ # 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 graphQL name/Operation type pairs for the proxy/remote service, upon which quota will applied. If GraphQLOperation operation has only the operation type(s), that would imply that quota will be applied on all graphQL requests irrespective of the graphQL name. **Note**: Currently, we can specify only a single GraphQLOperation. Specifying more than one will result in failure of the operation.
-          { # GraphQLOperation represents the pairing of graphQL operation types and the graphQL operation name.
-            &quot;operation&quot;: &quot;A String&quot;, # GraphQL operation name, along with operation type which will be used to associate quotas with. If no name is specified, the quota will be applied to all graphQL operations irrespective of their operation names in the payload.
-            &quot;operationTypes&quot;: [ # Required. `query`, `mutation` and `subscription` are the three operation types offered by graphQL. Currently we support only `query` and `mutation`.
+        &quot;operations&quot;: [ # Required. List of GraphQL name/operation type pairs for the proxy or remote service to which quota will be applied. If only operation types are specified, the quota will be applied to all GraphQL requests irrespective of the GraphQL name. **Note**: Currently, you can specify only a single GraphQLOperation. Specifying more than one will cause the operation to fail.
+          { # Represents the pairing of GraphQL operation types and the GraphQL operation name.
+            &quot;operation&quot;: &quot;A String&quot;, # GraphQL operation name. The name and operation type will be used to apply quotas. If no name is specified, the quota will be applied to all GraphQL operations irrespective of their operation names in the payload.
+            &quot;operationTypes&quot;: [ # Required. GraphQL operation types. Valid values include `query` or `mutation`. **Note**: Apigee does not currently support `subscription` types.
               &quot;A String&quot;,
             ],
           },
         ],
-        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done.
+        &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. # Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done.
           &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.
@@ -164,25 +164,25 @@
   &quot;lastModifiedAt&quot;: &quot;A String&quot;, # Response only. Modified time of this environment as milliseconds since epoch.
   &quot;name&quot;: &quot;A String&quot;, # Internal name of the API product. Characters you can use in the name are restricted to: `A-Z0-9._\-$ %`. **Note:** The internal name cannot be edited when updating the API product.
   &quot;operationGroup&quot;: { # List of operation configuration details associated with Apigee API proxies or remote services. Remote services are non-Apigee proxies, such as Istio-Envoy. # 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.
-    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
+    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
     &quot;operationConfigs&quot;: [ # Required. List of operation configurations for either Apigee API proxies or other remote services that are associated with this API product.
-      { # OperationConfig binds the resources in a proxy or remote service with the allowed REST methods and its associated quota enforcement.
-        &quot;apiSource&quot;: &quot;A String&quot;, # Required. API proxy or remote service name with which the resources, methods, and quota are associated.
+      { # Binds the resources in an API proxy or remote service with the allowed REST methods and associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy or remote service with which the resources, methods, and quota are associated.
         &quot;attributes&quot;: [ # 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;: [ # List of resource/method pairs for the proxy/remote service, upon which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.
-          { # Operation represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.
+        &quot;operations&quot;: [ # List of resource/method pairs for the API proxy or remote service to which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.
+          { # Represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.
             &quot;methods&quot;: [ # methods refers to the REST verbs as in https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html. When none specified, all verb types are allowed.
               &quot;A String&quot;,
             ],
-            &quot;resource&quot;: &quot;A String&quot;, # Required. resource represents REST resource path associated with the proxy/remote service.
+            &quot;resource&quot;: &quot;A String&quot;, # Required. REST resource path associated with the API proxy or remote service.
           },
         ],
-        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done.
+        &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. # Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done.
           &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.
@@ -227,25 +227,25 @@
     &quot;A String&quot;,
   ],
   &quot;graphqlOperationGroup&quot;: { # List of graphQL operation configuration details associated with Apigee API proxies or remote services. Remote services are non-Apigee proxies, such as Istio-Envoy. # Configuration used to group Apigee proxies or remote services with graphQL operation name, graphQL operation type and quotas. This grouping allows us to precisely set quota for a particular combination of graphQL name and operation type for a particular proxy request. If graphQL name is not set, this would imply quota will be applied on all graphQL requests matching the operation type.
-    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
+    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifies whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
     &quot;operationConfigs&quot;: [ # Required. List of operation configurations for either Apigee API proxies or other remote services that are associated with this API product.
-      { # GraphQLOperationConfig binds the resources in a proxy or remote service with the graphQL operation and its associated quota enforcement.
-        &quot;apiSource&quot;: &quot;A String&quot;, # Required. API proxy endpoint or remote service name with which the graphQL operation, and quota are associated.
+      { # Binds the resources in a proxy or remote service with the GraphQL operation and its associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy endpoint or remote service with which the GraphQL operation and quota are associated.
         &quot;attributes&quot;: [ # 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 graphQL name/Operation type pairs for the proxy/remote service, upon which quota will applied. If GraphQLOperation operation has only the operation type(s), that would imply that quota will be applied on all graphQL requests irrespective of the graphQL name. **Note**: Currently, we can specify only a single GraphQLOperation. Specifying more than one will result in failure of the operation.
-          { # GraphQLOperation represents the pairing of graphQL operation types and the graphQL operation name.
-            &quot;operation&quot;: &quot;A String&quot;, # GraphQL operation name, along with operation type which will be used to associate quotas with. If no name is specified, the quota will be applied to all graphQL operations irrespective of their operation names in the payload.
-            &quot;operationTypes&quot;: [ # Required. `query`, `mutation` and `subscription` are the three operation types offered by graphQL. Currently we support only `query` and `mutation`.
+        &quot;operations&quot;: [ # Required. List of GraphQL name/operation type pairs for the proxy or remote service to which quota will be applied. If only operation types are specified, the quota will be applied to all GraphQL requests irrespective of the GraphQL name. **Note**: Currently, you can specify only a single GraphQLOperation. Specifying more than one will cause the operation to fail.
+          { # Represents the pairing of GraphQL operation types and the GraphQL operation name.
+            &quot;operation&quot;: &quot;A String&quot;, # GraphQL operation name. The name and operation type will be used to apply quotas. If no name is specified, the quota will be applied to all GraphQL operations irrespective of their operation names in the payload.
+            &quot;operationTypes&quot;: [ # Required. GraphQL operation types. Valid values include `query` or `mutation`. **Note**: Apigee does not currently support `subscription` types.
               &quot;A String&quot;,
             ],
           },
         ],
-        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done.
+        &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. # Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done.
           &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.
@@ -256,25 +256,25 @@
   &quot;lastModifiedAt&quot;: &quot;A String&quot;, # Response only. Modified time of this environment as milliseconds since epoch.
   &quot;name&quot;: &quot;A String&quot;, # Internal name of the API product. Characters you can use in the name are restricted to: `A-Z0-9._\-$ %`. **Note:** The internal name cannot be edited when updating the API product.
   &quot;operationGroup&quot;: { # List of operation configuration details associated with Apigee API proxies or remote services. Remote services are non-Apigee proxies, such as Istio-Envoy. # 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.
-    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
+    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
     &quot;operationConfigs&quot;: [ # Required. List of operation configurations for either Apigee API proxies or other remote services that are associated with this API product.
-      { # OperationConfig binds the resources in a proxy or remote service with the allowed REST methods and its associated quota enforcement.
-        &quot;apiSource&quot;: &quot;A String&quot;, # Required. API proxy or remote service name with which the resources, methods, and quota are associated.
+      { # Binds the resources in an API proxy or remote service with the allowed REST methods and associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy or remote service with which the resources, methods, and quota are associated.
         &quot;attributes&quot;: [ # 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;: [ # List of resource/method pairs for the proxy/remote service, upon which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.
-          { # Operation represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.
+        &quot;operations&quot;: [ # List of resource/method pairs for the API proxy or remote service to which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.
+          { # Represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.
             &quot;methods&quot;: [ # methods refers to the REST verbs as in https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html. When none specified, all verb types are allowed.
               &quot;A String&quot;,
             ],
-            &quot;resource&quot;: &quot;A String&quot;, # Required. resource represents REST resource path associated with the proxy/remote service.
+            &quot;resource&quot;: &quot;A String&quot;, # Required. REST resource path associated with the API proxy or remote service.
           },
         ],
-        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done.
+        &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. # Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done.
           &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.
@@ -326,25 +326,25 @@
     &quot;A String&quot;,
   ],
   &quot;graphqlOperationGroup&quot;: { # List of graphQL operation configuration details associated with Apigee API proxies or remote services. Remote services are non-Apigee proxies, such as Istio-Envoy. # Configuration used to group Apigee proxies or remote services with graphQL operation name, graphQL operation type and quotas. This grouping allows us to precisely set quota for a particular combination of graphQL name and operation type for a particular proxy request. If graphQL name is not set, this would imply quota will be applied on all graphQL requests matching the operation type.
-    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
+    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifies whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
     &quot;operationConfigs&quot;: [ # Required. List of operation configurations for either Apigee API proxies or other remote services that are associated with this API product.
-      { # GraphQLOperationConfig binds the resources in a proxy or remote service with the graphQL operation and its associated quota enforcement.
-        &quot;apiSource&quot;: &quot;A String&quot;, # Required. API proxy endpoint or remote service name with which the graphQL operation, and quota are associated.
+      { # Binds the resources in a proxy or remote service with the GraphQL operation and its associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy endpoint or remote service with which the GraphQL operation and quota are associated.
         &quot;attributes&quot;: [ # 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 graphQL name/Operation type pairs for the proxy/remote service, upon which quota will applied. If GraphQLOperation operation has only the operation type(s), that would imply that quota will be applied on all graphQL requests irrespective of the graphQL name. **Note**: Currently, we can specify only a single GraphQLOperation. Specifying more than one will result in failure of the operation.
-          { # GraphQLOperation represents the pairing of graphQL operation types and the graphQL operation name.
-            &quot;operation&quot;: &quot;A String&quot;, # GraphQL operation name, along with operation type which will be used to associate quotas with. If no name is specified, the quota will be applied to all graphQL operations irrespective of their operation names in the payload.
-            &quot;operationTypes&quot;: [ # Required. `query`, `mutation` and `subscription` are the three operation types offered by graphQL. Currently we support only `query` and `mutation`.
+        &quot;operations&quot;: [ # Required. List of GraphQL name/operation type pairs for the proxy or remote service to which quota will be applied. If only operation types are specified, the quota will be applied to all GraphQL requests irrespective of the GraphQL name. **Note**: Currently, you can specify only a single GraphQLOperation. Specifying more than one will cause the operation to fail.
+          { # Represents the pairing of GraphQL operation types and the GraphQL operation name.
+            &quot;operation&quot;: &quot;A String&quot;, # GraphQL operation name. The name and operation type will be used to apply quotas. If no name is specified, the quota will be applied to all GraphQL operations irrespective of their operation names in the payload.
+            &quot;operationTypes&quot;: [ # Required. GraphQL operation types. Valid values include `query` or `mutation`. **Note**: Apigee does not currently support `subscription` types.
               &quot;A String&quot;,
             ],
           },
         ],
-        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done.
+        &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. # Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done.
           &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.
@@ -355,25 +355,25 @@
   &quot;lastModifiedAt&quot;: &quot;A String&quot;, # Response only. Modified time of this environment as milliseconds since epoch.
   &quot;name&quot;: &quot;A String&quot;, # Internal name of the API product. Characters you can use in the name are restricted to: `A-Z0-9._\-$ %`. **Note:** The internal name cannot be edited when updating the API product.
   &quot;operationGroup&quot;: { # List of operation configuration details associated with Apigee API proxies or remote services. Remote services are non-Apigee proxies, such as Istio-Envoy. # 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.
-    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
+    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
     &quot;operationConfigs&quot;: [ # Required. List of operation configurations for either Apigee API proxies or other remote services that are associated with this API product.
-      { # OperationConfig binds the resources in a proxy or remote service with the allowed REST methods and its associated quota enforcement.
-        &quot;apiSource&quot;: &quot;A String&quot;, # Required. API proxy or remote service name with which the resources, methods, and quota are associated.
+      { # Binds the resources in an API proxy or remote service with the allowed REST methods and associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy or remote service with which the resources, methods, and quota are associated.
         &quot;attributes&quot;: [ # 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;: [ # List of resource/method pairs for the proxy/remote service, upon which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.
-          { # Operation represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.
+        &quot;operations&quot;: [ # List of resource/method pairs for the API proxy or remote service to which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.
+          { # Represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.
             &quot;methods&quot;: [ # methods refers to the REST verbs as in https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html. When none specified, all verb types are allowed.
               &quot;A String&quot;,
             ],
-            &quot;resource&quot;: &quot;A String&quot;, # Required. resource represents REST resource path associated with the proxy/remote service.
+            &quot;resource&quot;: &quot;A String&quot;, # Required. REST resource path associated with the API proxy or remote service.
           },
         ],
-        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done.
+        &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. # Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done.
           &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.
@@ -425,25 +425,25 @@
     &quot;A String&quot;,
   ],
   &quot;graphqlOperationGroup&quot;: { # List of graphQL operation configuration details associated with Apigee API proxies or remote services. Remote services are non-Apigee proxies, such as Istio-Envoy. # Configuration used to group Apigee proxies or remote services with graphQL operation name, graphQL operation type and quotas. This grouping allows us to precisely set quota for a particular combination of graphQL name and operation type for a particular proxy request. If graphQL name is not set, this would imply quota will be applied on all graphQL requests matching the operation type.
-    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
+    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifies whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
     &quot;operationConfigs&quot;: [ # Required. List of operation configurations for either Apigee API proxies or other remote services that are associated with this API product.
-      { # GraphQLOperationConfig binds the resources in a proxy or remote service with the graphQL operation and its associated quota enforcement.
-        &quot;apiSource&quot;: &quot;A String&quot;, # Required. API proxy endpoint or remote service name with which the graphQL operation, and quota are associated.
+      { # Binds the resources in a proxy or remote service with the GraphQL operation and its associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy endpoint or remote service with which the GraphQL operation and quota are associated.
         &quot;attributes&quot;: [ # 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 graphQL name/Operation type pairs for the proxy/remote service, upon which quota will applied. If GraphQLOperation operation has only the operation type(s), that would imply that quota will be applied on all graphQL requests irrespective of the graphQL name. **Note**: Currently, we can specify only a single GraphQLOperation. Specifying more than one will result in failure of the operation.
-          { # GraphQLOperation represents the pairing of graphQL operation types and the graphQL operation name.
-            &quot;operation&quot;: &quot;A String&quot;, # GraphQL operation name, along with operation type which will be used to associate quotas with. If no name is specified, the quota will be applied to all graphQL operations irrespective of their operation names in the payload.
-            &quot;operationTypes&quot;: [ # Required. `query`, `mutation` and `subscription` are the three operation types offered by graphQL. Currently we support only `query` and `mutation`.
+        &quot;operations&quot;: [ # Required. List of GraphQL name/operation type pairs for the proxy or remote service to which quota will be applied. If only operation types are specified, the quota will be applied to all GraphQL requests irrespective of the GraphQL name. **Note**: Currently, you can specify only a single GraphQLOperation. Specifying more than one will cause the operation to fail.
+          { # Represents the pairing of GraphQL operation types and the GraphQL operation name.
+            &quot;operation&quot;: &quot;A String&quot;, # GraphQL operation name. The name and operation type will be used to apply quotas. If no name is specified, the quota will be applied to all GraphQL operations irrespective of their operation names in the payload.
+            &quot;operationTypes&quot;: [ # Required. GraphQL operation types. Valid values include `query` or `mutation`. **Note**: Apigee does not currently support `subscription` types.
               &quot;A String&quot;,
             ],
           },
         ],
-        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done.
+        &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. # Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done.
           &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.
@@ -454,25 +454,25 @@
   &quot;lastModifiedAt&quot;: &quot;A String&quot;, # Response only. Modified time of this environment as milliseconds since epoch.
   &quot;name&quot;: &quot;A String&quot;, # Internal name of the API product. Characters you can use in the name are restricted to: `A-Z0-9._\-$ %`. **Note:** The internal name cannot be edited when updating the API product.
   &quot;operationGroup&quot;: { # List of operation configuration details associated with Apigee API proxies or remote services. Remote services are non-Apigee proxies, such as Istio-Envoy. # 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.
-    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
+    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
     &quot;operationConfigs&quot;: [ # Required. List of operation configurations for either Apigee API proxies or other remote services that are associated with this API product.
-      { # OperationConfig binds the resources in a proxy or remote service with the allowed REST methods and its associated quota enforcement.
-        &quot;apiSource&quot;: &quot;A String&quot;, # Required. API proxy or remote service name with which the resources, methods, and quota are associated.
+      { # Binds the resources in an API proxy or remote service with the allowed REST methods and associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy or remote service with which the resources, methods, and quota are associated.
         &quot;attributes&quot;: [ # 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;: [ # List of resource/method pairs for the proxy/remote service, upon which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.
-          { # Operation represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.
+        &quot;operations&quot;: [ # List of resource/method pairs for the API proxy or remote service to which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.
+          { # Represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.
             &quot;methods&quot;: [ # methods refers to the REST verbs as in https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html. When none specified, all verb types are allowed.
               &quot;A String&quot;,
             ],
-            &quot;resource&quot;: &quot;A String&quot;, # Required. resource represents REST resource path associated with the proxy/remote service.
+            &quot;resource&quot;: &quot;A String&quot;, # Required. REST resource path associated with the API proxy or remote service.
           },
         ],
-        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done.
+        &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. # Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done.
           &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.
@@ -494,7 +494,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, attributename=None, attributevalue=None, count=None, expand=None, startKey=None, x__xgafv=None)</code>
-  <pre>Lists all API product names for an organization. Filter the list by passing an `attributename` and `attibutevalue`. The limit on the number of API products returned by the API is 1000. You can paginate the list of API products returned using the `startKey` and `count` query parameters.
+  <pre>Lists all API product names for an organization. Filter the list by passing an `attributename` and `attibutevalue`. The maximum number of API products returned is 1000. You can paginate the list of API products returned using the `startKey` and `count` query parameters.
 
 Args:
   parent: string, Required. Name of the organization. Use the following structure in your request: `organizations/{org}` (required)
@@ -531,25 +531,25 @@
         &quot;A String&quot;,
       ],
       &quot;graphqlOperationGroup&quot;: { # List of graphQL operation configuration details associated with Apigee API proxies or remote services. Remote services are non-Apigee proxies, such as Istio-Envoy. # Configuration used to group Apigee proxies or remote services with graphQL operation name, graphQL operation type and quotas. This grouping allows us to precisely set quota for a particular combination of graphQL name and operation type for a particular proxy request. If graphQL name is not set, this would imply quota will be applied on all graphQL requests matching the operation type.
-        &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
+        &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifies whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
         &quot;operationConfigs&quot;: [ # Required. List of operation configurations for either Apigee API proxies or other remote services that are associated with this API product.
-          { # GraphQLOperationConfig binds the resources in a proxy or remote service with the graphQL operation and its associated quota enforcement.
-            &quot;apiSource&quot;: &quot;A String&quot;, # Required. API proxy endpoint or remote service name with which the graphQL operation, and quota are associated.
+          { # Binds the resources in a proxy or remote service with the GraphQL operation and its associated quota enforcement.
+            &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy endpoint or remote service with which the GraphQL operation and quota are associated.
             &quot;attributes&quot;: [ # 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 graphQL name/Operation type pairs for the proxy/remote service, upon which quota will applied. If GraphQLOperation operation has only the operation type(s), that would imply that quota will be applied on all graphQL requests irrespective of the graphQL name. **Note**: Currently, we can specify only a single GraphQLOperation. Specifying more than one will result in failure of the operation.
-              { # GraphQLOperation represents the pairing of graphQL operation types and the graphQL operation name.
-                &quot;operation&quot;: &quot;A String&quot;, # GraphQL operation name, along with operation type which will be used to associate quotas with. If no name is specified, the quota will be applied to all graphQL operations irrespective of their operation names in the payload.
-                &quot;operationTypes&quot;: [ # Required. `query`, `mutation` and `subscription` are the three operation types offered by graphQL. Currently we support only `query` and `mutation`.
+            &quot;operations&quot;: [ # Required. List of GraphQL name/operation type pairs for the proxy or remote service to which quota will be applied. If only operation types are specified, the quota will be applied to all GraphQL requests irrespective of the GraphQL name. **Note**: Currently, you can specify only a single GraphQLOperation. Specifying more than one will cause the operation to fail.
+              { # Represents the pairing of GraphQL operation types and the GraphQL operation name.
+                &quot;operation&quot;: &quot;A String&quot;, # GraphQL operation name. The name and operation type will be used to apply quotas. If no name is specified, the quota will be applied to all GraphQL operations irrespective of their operation names in the payload.
+                &quot;operationTypes&quot;: [ # Required. GraphQL operation types. Valid values include `query` or `mutation`. **Note**: Apigee does not currently support `subscription` types.
                   &quot;A String&quot;,
                 ],
               },
             ],
-            &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done.
+            &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. # Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done.
               &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.
@@ -560,25 +560,25 @@
       &quot;lastModifiedAt&quot;: &quot;A String&quot;, # Response only. Modified time of this environment as milliseconds since epoch.
       &quot;name&quot;: &quot;A String&quot;, # Internal name of the API product. Characters you can use in the name are restricted to: `A-Z0-9._\-$ %`. **Note:** The internal name cannot be edited when updating the API product.
       &quot;operationGroup&quot;: { # List of operation configuration details associated with Apigee API proxies or remote services. Remote services are non-Apigee proxies, such as Istio-Envoy. # 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.
-        &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
+        &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
         &quot;operationConfigs&quot;: [ # Required. List of operation configurations for either Apigee API proxies or other remote services that are associated with this API product.
-          { # OperationConfig binds the resources in a proxy or remote service with the allowed REST methods and its associated quota enforcement.
-            &quot;apiSource&quot;: &quot;A String&quot;, # Required. API proxy or remote service name with which the resources, methods, and quota are associated.
+          { # Binds the resources in an API proxy or remote service with the allowed REST methods and associated quota enforcement.
+            &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy or remote service with which the resources, methods, and quota are associated.
             &quot;attributes&quot;: [ # 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;: [ # List of resource/method pairs for the proxy/remote service, upon which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.
-              { # Operation represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.
+            &quot;operations&quot;: [ # List of resource/method pairs for the API proxy or remote service to which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.
+              { # Represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.
                 &quot;methods&quot;: [ # methods refers to the REST verbs as in https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html. When none specified, all verb types are allowed.
                   &quot;A String&quot;,
                 ],
-                &quot;resource&quot;: &quot;A String&quot;, # Required. resource represents REST resource path associated with the proxy/remote service.
+                &quot;resource&quot;: &quot;A String&quot;, # Required. REST resource path associated with the API proxy or remote service.
               },
             ],
-            &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done.
+            &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. # Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done.
               &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.
@@ -602,7 +602,7 @@
 
 <div class="method">
     <code class="details" id="update">update(name, body=None, x__xgafv=None)</code>
-  <pre>Updates an existing API product. You must include all required values, whether or not you are updating them, as well as any optional values that you are updating. The API product name required in the request URL is the internal name of the product, not the Display Name. While they may be the same, it depends on whether the API product was created via UI or API. View the list of API products to identify their internal names.
+  <pre>Updates an existing API product. You must include all required values, whether or not you are updating them, as well as any optional values that you are updating. The API product name required in the request URL is the internal name of the product, not the display name. While they may be the same, it depends on whether the API product was created via UI or API. View the list of API products to identify their internal names.
 
 Args:
   name: string, Required. Name of the API product. Use the following structure in your request: `organizations/{org}/apiproducts/{apiproduct}` (required)
@@ -627,25 +627,25 @@
     &quot;A String&quot;,
   ],
   &quot;graphqlOperationGroup&quot;: { # List of graphQL operation configuration details associated with Apigee API proxies or remote services. Remote services are non-Apigee proxies, such as Istio-Envoy. # Configuration used to group Apigee proxies or remote services with graphQL operation name, graphQL operation type and quotas. This grouping allows us to precisely set quota for a particular combination of graphQL name and operation type for a particular proxy request. If graphQL name is not set, this would imply quota will be applied on all graphQL requests matching the operation type.
-    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
+    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifies whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
     &quot;operationConfigs&quot;: [ # Required. List of operation configurations for either Apigee API proxies or other remote services that are associated with this API product.
-      { # GraphQLOperationConfig binds the resources in a proxy or remote service with the graphQL operation and its associated quota enforcement.
-        &quot;apiSource&quot;: &quot;A String&quot;, # Required. API proxy endpoint or remote service name with which the graphQL operation, and quota are associated.
+      { # Binds the resources in a proxy or remote service with the GraphQL operation and its associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy endpoint or remote service with which the GraphQL operation and quota are associated.
         &quot;attributes&quot;: [ # 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 graphQL name/Operation type pairs for the proxy/remote service, upon which quota will applied. If GraphQLOperation operation has only the operation type(s), that would imply that quota will be applied on all graphQL requests irrespective of the graphQL name. **Note**: Currently, we can specify only a single GraphQLOperation. Specifying more than one will result in failure of the operation.
-          { # GraphQLOperation represents the pairing of graphQL operation types and the graphQL operation name.
-            &quot;operation&quot;: &quot;A String&quot;, # GraphQL operation name, along with operation type which will be used to associate quotas with. If no name is specified, the quota will be applied to all graphQL operations irrespective of their operation names in the payload.
-            &quot;operationTypes&quot;: [ # Required. `query`, `mutation` and `subscription` are the three operation types offered by graphQL. Currently we support only `query` and `mutation`.
+        &quot;operations&quot;: [ # Required. List of GraphQL name/operation type pairs for the proxy or remote service to which quota will be applied. If only operation types are specified, the quota will be applied to all GraphQL requests irrespective of the GraphQL name. **Note**: Currently, you can specify only a single GraphQLOperation. Specifying more than one will cause the operation to fail.
+          { # Represents the pairing of GraphQL operation types and the GraphQL operation name.
+            &quot;operation&quot;: &quot;A String&quot;, # GraphQL operation name. The name and operation type will be used to apply quotas. If no name is specified, the quota will be applied to all GraphQL operations irrespective of their operation names in the payload.
+            &quot;operationTypes&quot;: [ # Required. GraphQL operation types. Valid values include `query` or `mutation`. **Note**: Apigee does not currently support `subscription` types.
               &quot;A String&quot;,
             ],
           },
         ],
-        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done.
+        &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. # Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done.
           &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.
@@ -656,25 +656,25 @@
   &quot;lastModifiedAt&quot;: &quot;A String&quot;, # Response only. Modified time of this environment as milliseconds since epoch.
   &quot;name&quot;: &quot;A String&quot;, # Internal name of the API product. Characters you can use in the name are restricted to: `A-Z0-9._\-$ %`. **Note:** The internal name cannot be edited when updating the API product.
   &quot;operationGroup&quot;: { # List of operation configuration details associated with Apigee API proxies or remote services. Remote services are non-Apigee proxies, such as Istio-Envoy. # 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.
-    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
+    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
     &quot;operationConfigs&quot;: [ # Required. List of operation configurations for either Apigee API proxies or other remote services that are associated with this API product.
-      { # OperationConfig binds the resources in a proxy or remote service with the allowed REST methods and its associated quota enforcement.
-        &quot;apiSource&quot;: &quot;A String&quot;, # Required. API proxy or remote service name with which the resources, methods, and quota are associated.
+      { # Binds the resources in an API proxy or remote service with the allowed REST methods and associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy or remote service with which the resources, methods, and quota are associated.
         &quot;attributes&quot;: [ # 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;: [ # List of resource/method pairs for the proxy/remote service, upon which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.
-          { # Operation represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.
+        &quot;operations&quot;: [ # List of resource/method pairs for the API proxy or remote service to which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.
+          { # Represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.
             &quot;methods&quot;: [ # methods refers to the REST verbs as in https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html. When none specified, all verb types are allowed.
               &quot;A String&quot;,
             ],
-            &quot;resource&quot;: &quot;A String&quot;, # Required. resource represents REST resource path associated with the proxy/remote service.
+            &quot;resource&quot;: &quot;A String&quot;, # Required. REST resource path associated with the API proxy or remote service.
           },
         ],
-        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done.
+        &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. # Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done.
           &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.
@@ -719,25 +719,25 @@
     &quot;A String&quot;,
   ],
   &quot;graphqlOperationGroup&quot;: { # List of graphQL operation configuration details associated with Apigee API proxies or remote services. Remote services are non-Apigee proxies, such as Istio-Envoy. # Configuration used to group Apigee proxies or remote services with graphQL operation name, graphQL operation type and quotas. This grouping allows us to precisely set quota for a particular combination of graphQL name and operation type for a particular proxy request. If graphQL name is not set, this would imply quota will be applied on all graphQL requests matching the operation type.
-    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
+    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifies whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
     &quot;operationConfigs&quot;: [ # Required. List of operation configurations for either Apigee API proxies or other remote services that are associated with this API product.
-      { # GraphQLOperationConfig binds the resources in a proxy or remote service with the graphQL operation and its associated quota enforcement.
-        &quot;apiSource&quot;: &quot;A String&quot;, # Required. API proxy endpoint or remote service name with which the graphQL operation, and quota are associated.
+      { # Binds the resources in a proxy or remote service with the GraphQL operation and its associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy endpoint or remote service with which the GraphQL operation and quota are associated.
         &quot;attributes&quot;: [ # 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 graphQL name/Operation type pairs for the proxy/remote service, upon which quota will applied. If GraphQLOperation operation has only the operation type(s), that would imply that quota will be applied on all graphQL requests irrespective of the graphQL name. **Note**: Currently, we can specify only a single GraphQLOperation. Specifying more than one will result in failure of the operation.
-          { # GraphQLOperation represents the pairing of graphQL operation types and the graphQL operation name.
-            &quot;operation&quot;: &quot;A String&quot;, # GraphQL operation name, along with operation type which will be used to associate quotas with. If no name is specified, the quota will be applied to all graphQL operations irrespective of their operation names in the payload.
-            &quot;operationTypes&quot;: [ # Required. `query`, `mutation` and `subscription` are the three operation types offered by graphQL. Currently we support only `query` and `mutation`.
+        &quot;operations&quot;: [ # Required. List of GraphQL name/operation type pairs for the proxy or remote service to which quota will be applied. If only operation types are specified, the quota will be applied to all GraphQL requests irrespective of the GraphQL name. **Note**: Currently, you can specify only a single GraphQLOperation. Specifying more than one will cause the operation to fail.
+          { # Represents the pairing of GraphQL operation types and the GraphQL operation name.
+            &quot;operation&quot;: &quot;A String&quot;, # GraphQL operation name. The name and operation type will be used to apply quotas. If no name is specified, the quota will be applied to all GraphQL operations irrespective of their operation names in the payload.
+            &quot;operationTypes&quot;: [ # Required. GraphQL operation types. Valid values include `query` or `mutation`. **Note**: Apigee does not currently support `subscription` types.
               &quot;A String&quot;,
             ],
           },
         ],
-        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done.
+        &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. # Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done.
           &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.
@@ -748,25 +748,25 @@
   &quot;lastModifiedAt&quot;: &quot;A String&quot;, # Response only. Modified time of this environment as milliseconds since epoch.
   &quot;name&quot;: &quot;A String&quot;, # Internal name of the API product. Characters you can use in the name are restricted to: `A-Z0-9._\-$ %`. **Note:** The internal name cannot be edited when updating the API product.
   &quot;operationGroup&quot;: { # List of operation configuration details associated with Apigee API proxies or remote services. Remote services are non-Apigee proxies, such as Istio-Envoy. # 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.
-    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values are `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
+    &quot;operationConfigType&quot;: &quot;A String&quot;, # Flag that specifes whether the configuration is for Apigee API proxy or a remote service. Valid values include `proxy` or `remoteservice`. Defaults to `proxy`. Set to `proxy` when Apigee API proxies are associated with the API product. Set to `remoteservice` when non-Apigee proxies like Istio-Envoy are associated with the API product.
     &quot;operationConfigs&quot;: [ # Required. List of operation configurations for either Apigee API proxies or other remote services that are associated with this API product.
-      { # OperationConfig binds the resources in a proxy or remote service with the allowed REST methods and its associated quota enforcement.
-        &quot;apiSource&quot;: &quot;A String&quot;, # Required. API proxy or remote service name with which the resources, methods, and quota are associated.
+      { # Binds the resources in an API proxy or remote service with the allowed REST methods and associated quota enforcement.
+        &quot;apiSource&quot;: &quot;A String&quot;, # Required. Name of the API proxy or remote service with which the resources, methods, and quota are associated.
         &quot;attributes&quot;: [ # 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;: [ # List of resource/method pairs for the proxy/remote service, upon which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.
-          { # Operation represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.
+        &quot;operations&quot;: [ # List of resource/method pairs for the API proxy or remote service to which quota will applied. **Note**: Currently, you can specify only a single resource/method pair. The call will fail if more than one resource/method pair is provided.
+          { # Represents the pairing of REST resource path and the actions (verbs) allowed on the resource path.
             &quot;methods&quot;: [ # methods refers to the REST verbs as in https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html. When none specified, all verb types are allowed.
               &quot;A String&quot;,
             ],
-            &quot;resource&quot;: &quot;A String&quot;, # Required. resource represents REST resource path associated with the proxy/remote service.
+            &quot;resource&quot;: &quot;A String&quot;, # Required. REST resource path associated with the API proxy or remote service.
           },
         ],
-        &quot;quota&quot;: { # Quota contains the essential parameters needed that can be applied on a proxy/remote service, resources and methods combination associated with this API product. While setting of Quota is optional, setting it prevents requests from exceeding the provisioned parameters. # Quota parameters to be enforced for the resources, methods, api_source combination. If none are specified, quota enforcement will not be done.
+        &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. # Quota parameters to be enforced for the resources, methods, and API source combination. If none are specified, quota enforcement will not be done.
           &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.
diff --git a/docs/dyn/apigee_v1.organizations.apis.deployments.html b/docs/dyn/apigee_v1.organizations.apis.deployments.html
index 8800245..9620cdd 100644
--- a/docs/dyn/apigee_v1.organizations.apis.deployments.html
+++ b/docs/dyn/apigee_v1.organizations.apis.deployments.html
@@ -162,6 +162,7 @@
           &quot;environmentGroup&quot;: &quot;A String&quot;, # Name of the environment group in which this conflict exists.
         },
       ],
+      &quot;serviceAccount&quot;: &quot;A String&quot;, # The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.
       &quot;state&quot;: &quot;A String&quot;, # Current state of the deployment. This field is not populated in List APIs.
     },
   ],
diff --git a/docs/dyn/apigee_v1.organizations.apis.revisions.deployments.html b/docs/dyn/apigee_v1.organizations.apis.revisions.deployments.html
index 1e28535..702cef0 100644
--- a/docs/dyn/apigee_v1.organizations.apis.revisions.deployments.html
+++ b/docs/dyn/apigee_v1.organizations.apis.revisions.deployments.html
@@ -162,6 +162,7 @@
           &quot;environmentGroup&quot;: &quot;A String&quot;, # Name of the environment group in which this conflict exists.
         },
       ],
+      &quot;serviceAccount&quot;: &quot;A String&quot;, # The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.
       &quot;state&quot;: &quot;A String&quot;, # Current state of the deployment. This field is not populated in List APIs.
     },
   ],
diff --git a/docs/dyn/apigee_v1.organizations.deployments.html b/docs/dyn/apigee_v1.organizations.deployments.html
index 0ae570e..4ce3a3d 100644
--- a/docs/dyn/apigee_v1.organizations.deployments.html
+++ b/docs/dyn/apigee_v1.organizations.deployments.html
@@ -163,6 +163,7 @@
           &quot;environmentGroup&quot;: &quot;A String&quot;, # Name of the environment group in which this conflict exists.
         },
       ],
+      &quot;serviceAccount&quot;: &quot;A String&quot;, # The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.
       &quot;state&quot;: &quot;A String&quot;, # Current state of the deployment. This field is not populated in List APIs.
     },
   ],
diff --git a/docs/dyn/apigee_v1.organizations.developers.apps.keys.apiproducts.html b/docs/dyn/apigee_v1.organizations.developers.apps.keys.apiproducts.html
index db39d50..896fa7b 100644
--- a/docs/dyn/apigee_v1.organizations.developers.apps.keys.apiproducts.html
+++ b/docs/dyn/apigee_v1.organizations.developers.apps.keys.apiproducts.html
@@ -82,7 +82,7 @@
 <p class="firstline">Removes an API product from an app's consumer key. After the API product is removed, the app cannot access the API resources defined in that API product. **Note**: The consumer key is not removed, only its association with the API product.</p>
 <p class="toc_element">
   <code><a href="#updateDeveloperAppKeyApiProduct">updateDeveloperAppKeyApiProduct(name, action=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Approve or revoke an app's consumer key. After a consumer key is approved, the app can use it to access APIs. A consumer key that is revoked or pending cannot be used to access an API. Any access tokens associated with a revoked consumer key will remain active. However, Apigee hybrid checks the status of the consumer key and if set to `revoked` will not allow access to the API.</p>
+<p class="firstline">Approves or revokes the consumer key for an API product. After a consumer key is approved, the app can use it to access APIs. A consumer key that is revoked or pending cannot be used to access an API. Any access tokens associated with a revoked consumer key will remain active. However, Apigee checks the status of the consumer key and if set to `revoked` will not allow access to the API.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -127,7 +127,7 @@
 
 <div class="method">
     <code class="details" id="updateDeveloperAppKeyApiProduct">updateDeveloperAppKeyApiProduct(name, action=None, x__xgafv=None)</code>
-  <pre>Approve or revoke an app&#x27;s consumer key. After a consumer key is approved, the app can use it to access APIs. A consumer key that is revoked or pending cannot be used to access an API. Any access tokens associated with a revoked consumer key will remain active. However, Apigee hybrid checks the status of the consumer key and if set to `revoked` will not allow access to the API.
+  <pre>Approves or revokes the consumer key for an API product. After a consumer key is approved, the app can use it to access APIs. A consumer key that is revoked or pending cannot be used to access an API. Any access tokens associated with a revoked consumer key will remain active. However, Apigee checks the status of the consumer key and if set to `revoked` will not allow access to the API.
 
 Args:
   name: string, Name of the API product in the developer app key in the following format: `organizations/{org}/developers/{developer_email}/apps/{app}/keys/{key}/apiproducts/{apiproduct}` (required)
diff --git a/docs/dyn/apigee_v1.organizations.developers.apps.keys.create.html b/docs/dyn/apigee_v1.organizations.developers.apps.keys.create.html
index 6af4db1..25f1b51 100644
--- a/docs/dyn/apigee_v1.organizations.developers.apps.keys.create.html
+++ b/docs/dyn/apigee_v1.organizations.developers.apps.keys.create.html
@@ -79,7 +79,7 @@
 <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 custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee hybrid from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API.</p>
+<p class="firstline">Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API.</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -88,7 +88,7 @@
 
 <div class="method">
     <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
-  <pre>Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee hybrid from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API.
+  <pre>Creates a custom consumer key and secret for a developer app. This is particularly useful if you want to migrate existing consumer keys and secrets to Apigee from another system. Consumer keys and secrets can contain letters, numbers, underscores, and hyphens. No other special characters are allowed. To avoid service disruptions, a consumer key and secret should not exceed 2 KBs each. **Note**: When creating the consumer key and secret, an association to API products will not be made. Therefore, you should not specify the associated API products in your request. Instead, use the UpdateDeveloperAppKey API to make the association after the consumer key and secret are created. If a consumer key and secret already exist, you can keep them or delete them using the DeleteDeveloperAppKey API.
 
 Args:
   parent: string, Parent of the developer app key. Use the following structure in your request: `organizations/{org}/developers/{developer_email}/apps` (required)
diff --git a/docs/dyn/apigee_v1.organizations.developers.apps.keys.html b/docs/dyn/apigee_v1.organizations.developers.apps.keys.html
index c5e5c7d..5638341 100644
--- a/docs/dyn/apigee_v1.organizations.developers.apps.keys.html
+++ b/docs/dyn/apigee_v1.organizations.developers.apps.keys.html
@@ -92,7 +92,7 @@
 <p class="firstline">Deletes an app's consumer key and removes all API products associated with the app. After the consumer key is deleted, it cannot be used to access any APIs. **Note**: After you delete a consumer key, you may want to: 1. Create a new consumer key and secret for the developer app using the CreateDeveloperAppKey API, and subsequently add an API product to the key using the UpdateDeveloperAppKey API. 2. Delete the developer app, if it is no longer required.</p>
 <p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Returns details for a consumer key for a developer app, including the key and secret value, associated API products, and other information.</p>
+<p class="firstline">Gets details for a consumer key for a developer app, including the key and secret value, associated API products, and other information.</p>
 <p class="toc_element">
   <code><a href="#replaceDeveloperAppKey">replaceDeveloperAppKey(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Updates the scope of an app. This API replaces the existing scopes with those specified in the request. Include or exclude any existing scopes that you want to retain or delete, respectively. The specified scopes must already be defined for the API products associated with the app. This API sets the `scopes` element under the `apiProducts` element in the attributes of the app.</p>
@@ -143,7 +143,7 @@
 
 <div class="method">
     <code class="details" id="get">get(name, x__xgafv=None)</code>
-  <pre>Returns details for a consumer key for a developer app, including the key and secret value, associated API products, and other information.
+  <pre>Gets details for a consumer key for a developer app, including the key and secret value, associated API products, and other information.
 
 Args:
   name: string, Name of the developer app key. Use the following structure in your request: `organizations/{org}/developers/{developer_email}/apps/{app}/keys/{key}` (required)
diff --git a/docs/dyn/apigee_v1.organizations.environments.apis.deployments.html b/docs/dyn/apigee_v1.organizations.environments.apis.deployments.html
index 72b8196..d96f2a0 100644
--- a/docs/dyn/apigee_v1.organizations.environments.apis.deployments.html
+++ b/docs/dyn/apigee_v1.organizations.environments.apis.deployments.html
@@ -162,6 +162,7 @@
           &quot;environmentGroup&quot;: &quot;A String&quot;, # Name of the environment group in which this conflict exists.
         },
       ],
+      &quot;serviceAccount&quot;: &quot;A String&quot;, # The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.
       &quot;state&quot;: &quot;A String&quot;, # Current state of the deployment. This field is not populated in List APIs.
     },
   ],
diff --git a/docs/dyn/apigee_v1.organizations.environments.apis.revisions.html b/docs/dyn/apigee_v1.organizations.environments.apis.revisions.html
index 09a7e0b..8484bad 100644
--- a/docs/dyn/apigee_v1.organizations.environments.apis.revisions.html
+++ b/docs/dyn/apigee_v1.organizations.environments.apis.revisions.html
@@ -88,7 +88,7 @@
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
-  <code><a href="#deploy">deploy(name, override=None, sequencedRollout=None, x__xgafv=None)</a></code></p>
+  <code><a href="#deploy">deploy(name, override=None, sequencedRollout=None, serviceAccount=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Deploys a revision of an API proxy. If another revision of the same API proxy revision is currently deployed, set the `override` parameter to `true` to have this revision replace the currently deployed revision. You cannot invoke an API proxy until it has been deployed to an environment. After you deploy an API proxy revision, you cannot edit it. To edit the API proxy, you must create and deploy a new revision. For a request path `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.create` on the resource `organizations/{org}/environments/{env}` * `apigee.proxyrevisions.deploy` on the resource `organizations/{org}/apis/{api}/revisions/{rev}` </p>
 <p class="toc_element">
   <code><a href="#getDeployments">getDeployments(name, x__xgafv=None)</a></code></p>
@@ -103,13 +103,14 @@
 </div>
 
 <div class="method">
-    <code class="details" id="deploy">deploy(name, override=None, sequencedRollout=None, x__xgafv=None)</code>
+    <code class="details" id="deploy">deploy(name, override=None, sequencedRollout=None, serviceAccount=None, x__xgafv=None)</code>
   <pre>Deploys a revision of an API proxy. If another revision of the same API proxy revision is currently deployed, set the `override` parameter to `true` to have this revision replace the currently deployed revision. You cannot invoke an API proxy until it has been deployed to an environment. After you deploy an API proxy revision, you cannot edit it. To edit the API proxy, you must create and deploy a new revision. For a request path `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.create` on the resource `organizations/{org}/environments/{env}` * `apigee.proxyrevisions.deploy` on the resource `organizations/{org}/apis/{api}/revisions/{rev}` 
 
 Args:
   name: string, Required. Name of the API proxy revision deployment in the following format: `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}` (required)
   override: boolean, Flag that specifies whether the new deployment replaces other deployed revisions of the API proxy in the environment. Set `override` to `true` to replace other deployed revisions. By default, `override` is `false` and the deployment is rejected if other revisions of the API proxy are deployed in the environment.
   sequencedRollout: boolean, Flag that specifies whether to enable sequenced rollout. If set to `true`, a best-effort attempt will be made to roll out the routing rules corresponding to this deployment and the environment changes to add this deployment in a safe order. This reduces the risk of downtime that could be caused by changing the environment group&#x27;s routing before the new destination for the affected traffic is ready to receive it. This should only be necessary if the new deployment will be capturing traffic from another environment under a shared environment group or if traffic will be rerouted to a different environment due to a base path removal. The [GenerateDeployChangeReport API](GenerateDeployChangeReport) may be used to examine routing changes before issuing the deployment request, and its response will indicate if a sequenced rollout is recommended for the deployment.
+  serviceAccount: string, Google Cloud IAM service account. The service account represents the identity of the deployed proxy, and determines what permissions it has. The format must be `{ACCOUNT_ID}@{PROJECT}.iam.gserviceaccount.com`.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -178,6 +179,7 @@
       &quot;environmentGroup&quot;: &quot;A String&quot;, # Name of the environment group in which this conflict exists.
     },
   ],
+  &quot;serviceAccount&quot;: &quot;A String&quot;, # The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.
   &quot;state&quot;: &quot;A String&quot;, # Current state of the deployment. This field is not populated in List APIs.
 }</pre>
 </div>
@@ -256,6 +258,7 @@
       &quot;environmentGroup&quot;: &quot;A String&quot;, # Name of the environment group in which this conflict exists.
     },
   ],
+  &quot;serviceAccount&quot;: &quot;A String&quot;, # The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.
   &quot;state&quot;: &quot;A String&quot;, # Current state of the deployment. This field is not populated in List APIs.
 }</pre>
 </div>
diff --git a/docs/dyn/apigee_v1.organizations.environments.deployments.html b/docs/dyn/apigee_v1.organizations.environments.deployments.html
index 0a6d7b9..110b096 100644
--- a/docs/dyn/apigee_v1.organizations.environments.deployments.html
+++ b/docs/dyn/apigee_v1.organizations.environments.deployments.html
@@ -163,6 +163,7 @@
           &quot;environmentGroup&quot;: &quot;A String&quot;, # Name of the environment group in which this conflict exists.
         },
       ],
+      &quot;serviceAccount&quot;: &quot;A String&quot;, # The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.
       &quot;state&quot;: &quot;A String&quot;, # Current state of the deployment. This field is not populated in List APIs.
     },
   ],
diff --git a/docs/dyn/apigee_v1.organizations.environments.sharedflows.deployments.html b/docs/dyn/apigee_v1.organizations.environments.sharedflows.deployments.html
index 74a70e9..d223153 100644
--- a/docs/dyn/apigee_v1.organizations.environments.sharedflows.deployments.html
+++ b/docs/dyn/apigee_v1.organizations.environments.sharedflows.deployments.html
@@ -162,6 +162,7 @@
           &quot;environmentGroup&quot;: &quot;A String&quot;, # Name of the environment group in which this conflict exists.
         },
       ],
+      &quot;serviceAccount&quot;: &quot;A String&quot;, # The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.
       &quot;state&quot;: &quot;A String&quot;, # Current state of the deployment. This field is not populated in List APIs.
     },
   ],
diff --git a/docs/dyn/apigee_v1.organizations.environments.sharedflows.revisions.html b/docs/dyn/apigee_v1.organizations.environments.sharedflows.revisions.html
index ffa5efa..23ef5bd 100644
--- a/docs/dyn/apigee_v1.organizations.environments.sharedflows.revisions.html
+++ b/docs/dyn/apigee_v1.organizations.environments.sharedflows.revisions.html
@@ -78,7 +78,7 @@
   <code><a href="#close">close()</a></code></p>
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
-  <code><a href="#deploy">deploy(name, override=None, x__xgafv=None)</a></code></p>
+  <code><a href="#deploy">deploy(name, override=None, serviceAccount=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Deploys a revision of a shared flow. If another revision of the same shared flow is currently deployed, set the `override` parameter to `true` to have this revision replace the currently deployed revision. You cannot use a shared flow until it has been deployed to an environment. For a request path `organizations/{org}/environments/{env}/sharedflows/{sf}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.create` on the resource `organizations/{org}/environments/{env}` * `apigee.sharedflowrevisions.deploy` on the resource `organizations/{org}/sharedflows/{sf}/revisions/{rev}`</p>
 <p class="toc_element">
   <code><a href="#getDeployments">getDeployments(name, x__xgafv=None)</a></code></p>
@@ -93,12 +93,13 @@
 </div>
 
 <div class="method">
-    <code class="details" id="deploy">deploy(name, override=None, x__xgafv=None)</code>
+    <code class="details" id="deploy">deploy(name, override=None, serviceAccount=None, x__xgafv=None)</code>
   <pre>Deploys a revision of a shared flow. If another revision of the same shared flow is currently deployed, set the `override` parameter to `true` to have this revision replace the currently deployed revision. You cannot use a shared flow until it has been deployed to an environment. For a request path `organizations/{org}/environments/{env}/sharedflows/{sf}/revisions/{rev}/deployments`, two permissions are required: * `apigee.deployments.create` on the resource `organizations/{org}/environments/{env}` * `apigee.sharedflowrevisions.deploy` on the resource `organizations/{org}/sharedflows/{sf}/revisions/{rev}`
 
 Args:
   name: string, Required. Name of the shared flow revision to deploy in the following format: `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}` (required)
   override: boolean, Flag that specifies whether the new deployment replaces other deployed revisions of the shared flow in the environment. Set `override` to `true` to replace other deployed revisions. By default, `override` is `false` and the deployment is rejected if other revisions of the shared flow are deployed in the environment.
+  serviceAccount: string, Google Cloud IAM service account. The service account represents the identity of the deployed proxy, and determines what permissions it has. The format must be `{ACCOUNT_ID}@{PROJECT}.iam.gserviceaccount.com`.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
@@ -167,6 +168,7 @@
       &quot;environmentGroup&quot;: &quot;A String&quot;, # Name of the environment group in which this conflict exists.
     },
   ],
+  &quot;serviceAccount&quot;: &quot;A String&quot;, # The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.
   &quot;state&quot;: &quot;A String&quot;, # Current state of the deployment. This field is not populated in List APIs.
 }</pre>
 </div>
@@ -245,6 +247,7 @@
       &quot;environmentGroup&quot;: &quot;A String&quot;, # Name of the environment group in which this conflict exists.
     },
   ],
+  &quot;serviceAccount&quot;: &quot;A String&quot;, # The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.
   &quot;state&quot;: &quot;A String&quot;, # Current state of the deployment. This field is not populated in List APIs.
 }</pre>
 </div>
diff --git a/docs/dyn/apigee_v1.organizations.sharedflows.deployments.html b/docs/dyn/apigee_v1.organizations.sharedflows.deployments.html
index 145fac0..f7fd840 100644
--- a/docs/dyn/apigee_v1.organizations.sharedflows.deployments.html
+++ b/docs/dyn/apigee_v1.organizations.sharedflows.deployments.html
@@ -162,6 +162,7 @@
           &quot;environmentGroup&quot;: &quot;A String&quot;, # Name of the environment group in which this conflict exists.
         },
       ],
+      &quot;serviceAccount&quot;: &quot;A String&quot;, # The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.
       &quot;state&quot;: &quot;A String&quot;, # Current state of the deployment. This field is not populated in List APIs.
     },
   ],
diff --git a/docs/dyn/apigee_v1.organizations.sharedflows.revisions.deployments.html b/docs/dyn/apigee_v1.organizations.sharedflows.revisions.deployments.html
index b97e818..ff63b58 100644
--- a/docs/dyn/apigee_v1.organizations.sharedflows.revisions.deployments.html
+++ b/docs/dyn/apigee_v1.organizations.sharedflows.revisions.deployments.html
@@ -162,6 +162,7 @@
           &quot;environmentGroup&quot;: &quot;A String&quot;, # Name of the environment group in which this conflict exists.
         },
       ],
+      &quot;serviceAccount&quot;: &quot;A String&quot;, # The full resource name of Cloud IAM Service Account that this deployment is using, eg, `projects/-/serviceAccounts/{email}`.
       &quot;state&quot;: &quot;A String&quot;, # Current state of the deployment. This field is not populated in List APIs.
     },
   ],
diff --git a/docs/dyn/container_v1beta1.projects.locations.clusters.html b/docs/dyn/container_v1beta1.projects.locations.clusters.html
index 5f3fea4..7b8b62b 100644
--- a/docs/dyn/container_v1beta1.projects.locations.clusters.html
+++ b/docs/dyn/container_v1beta1.projects.locations.clusters.html
@@ -518,6 +518,10 @@
       },
     },
     &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode.
+    &quot;nodePoolDefaults&quot;: { # Subset of Nodepool message that has defaults. # Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object.
+      &quot;nodeConfigDefaults&quot;: { # Subset of NodeConfig message that has defaults. # Subset of NodeConfig message that has defaults.
+      },
+    },
     &quot;nodePools&quot;: [ # The node pools associated with this cluster. This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are specified.
       { # NodePool contains the name and configuration for a cluster&#x27;s node pool. Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.
         &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. # Autoscaler configuration for this NodePool. Autoscaler is enabled only if a valid configuration is present.
@@ -1138,6 +1142,10 @@
     },
   },
   &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode.
+  &quot;nodePoolDefaults&quot;: { # Subset of Nodepool message that has defaults. # Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object.
+    &quot;nodeConfigDefaults&quot;: { # Subset of NodeConfig message that has defaults. # Subset of NodeConfig message that has defaults.
+    },
+  },
   &quot;nodePools&quot;: [ # The node pools associated with this cluster. This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are specified.
     { # NodePool contains the name and configuration for a cluster&#x27;s node pool. Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.
       &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. # Autoscaler configuration for this NodePool. Autoscaler is enabled only if a valid configuration is present.
@@ -1661,6 +1669,10 @@
         },
       },
       &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode.
+      &quot;nodePoolDefaults&quot;: { # Subset of Nodepool message that has defaults. # Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object.
+        &quot;nodeConfigDefaults&quot;: { # Subset of NodeConfig message that has defaults. # Subset of NodeConfig message that has defaults.
+        },
+      },
       &quot;nodePools&quot;: [ # The node pools associated with this cluster. This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are specified.
         { # NodePool contains the name and configuration for a cluster&#x27;s node pool. Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.
           &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. # Autoscaler configuration for this NodePool. Autoscaler is enabled only if a valid configuration is present.
diff --git a/docs/dyn/container_v1beta1.projects.locations.html b/docs/dyn/container_v1beta1.projects.locations.html
index c0ce30e..151a128 100644
--- a/docs/dyn/container_v1beta1.projects.locations.html
+++ b/docs/dyn/container_v1beta1.projects.locations.html
@@ -142,6 +142,21 @@
   &quot;validNodeVersions&quot;: [ # List of valid node upgrade target versions, in descending order.
     &quot;A String&quot;,
   ],
+  &quot;windowsVersionMaps&quot;: { # Maps of Kubernetes version and supported Windows server versions.
+    &quot;a_key&quot;: { # Windows server versions.
+      &quot;windowsVersions&quot;: [ # List of Windows server versions.
+        { # Windows server version.
+          &quot;imageType&quot;: &quot;A String&quot;, # Windows server image type
+          &quot;osVersion&quot;: &quot;A String&quot;, # Windows server build number
+          &quot;supportEndDate&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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # Mainstream support end 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.
+          },
+        },
+      ],
+    },
+  },
 }</pre>
 </div>
 
diff --git a/docs/dyn/container_v1beta1.projects.zones.clusters.html b/docs/dyn/container_v1beta1.projects.zones.clusters.html
index 98349d0..7fc8543 100644
--- a/docs/dyn/container_v1beta1.projects.zones.clusters.html
+++ b/docs/dyn/container_v1beta1.projects.zones.clusters.html
@@ -626,6 +626,10 @@
       },
     },
     &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode.
+    &quot;nodePoolDefaults&quot;: { # Subset of Nodepool message that has defaults. # Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object.
+      &quot;nodeConfigDefaults&quot;: { # Subset of NodeConfig message that has defaults. # Subset of NodeConfig message that has defaults.
+      },
+    },
     &quot;nodePools&quot;: [ # The node pools associated with this cluster. This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are specified.
       { # NodePool contains the name and configuration for a cluster&#x27;s node pool. Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.
         &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. # Autoscaler configuration for this NodePool. Autoscaler is enabled only if a valid configuration is present.
@@ -1246,6 +1250,10 @@
     },
   },
   &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode.
+  &quot;nodePoolDefaults&quot;: { # Subset of Nodepool message that has defaults. # Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object.
+    &quot;nodeConfigDefaults&quot;: { # Subset of NodeConfig message that has defaults. # Subset of NodeConfig message that has defaults.
+    },
+  },
   &quot;nodePools&quot;: [ # The node pools associated with this cluster. This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are specified.
     { # NodePool contains the name and configuration for a cluster&#x27;s node pool. Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.
       &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. # Autoscaler configuration for this NodePool. Autoscaler is enabled only if a valid configuration is present.
@@ -1813,6 +1821,10 @@
         },
       },
       &quot;nodeIpv4CidrSize&quot;: 42, # [Output only] The size of the address space on each node for hosting containers. This is provisioned from within the `container_ipv4_cidr` range. This field will only be set when cluster is in route-based network mode.
+      &quot;nodePoolDefaults&quot;: { # Subset of Nodepool message that has defaults. # Default NodePool settings for the entire cluster. These settings are overridden if specified on the specific NodePool object.
+        &quot;nodeConfigDefaults&quot;: { # Subset of NodeConfig message that has defaults. # Subset of NodeConfig message that has defaults.
+        },
+      },
       &quot;nodePools&quot;: [ # The node pools associated with this cluster. This field should not be set if &quot;node_config&quot; or &quot;initial_node_count&quot; are specified.
         { # NodePool contains the name and configuration for a cluster&#x27;s node pool. Node pools are a set of nodes (i.e. VM&#x27;s), with a common configuration and specification, under the control of the cluster master. They may have a set of Kubernetes labels applied to them, which may be used to reference them during pod scheduling. They may also be resized up or down, to accommodate the workload.
           &quot;autoscaling&quot;: { # NodePoolAutoscaling contains information required by cluster autoscaler to adjust the size of the node pool to the current cluster usage. # Autoscaler configuration for this NodePool. Autoscaler is enabled only if a valid configuration is present.
diff --git a/docs/dyn/container_v1beta1.projects.zones.html b/docs/dyn/container_v1beta1.projects.zones.html
index 393bc50..a2702a2 100644
--- a/docs/dyn/container_v1beta1.projects.zones.html
+++ b/docs/dyn/container_v1beta1.projects.zones.html
@@ -139,6 +139,21 @@
   &quot;validNodeVersions&quot;: [ # List of valid node upgrade target versions, in descending order.
     &quot;A String&quot;,
   ],
+  &quot;windowsVersionMaps&quot;: { # Maps of Kubernetes version and supported Windows server versions.
+    &quot;a_key&quot;: { # Windows server versions.
+      &quot;windowsVersions&quot;: [ # List of Windows server versions.
+        { # Windows server version.
+          &quot;imageType&quot;: &quot;A String&quot;, # Windows server image type
+          &quot;osVersion&quot;: &quot;A String&quot;, # Windows server build number
+          &quot;supportEndDate&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 value, with a zero year, such as an anniversary * A year on its own, with zero month and day values * A year and month value, with a zero day, such as a credit card expiration date Related types are google.type.TimeOfDay and `google.protobuf.Timestamp`. # Mainstream support end 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.
+          },
+        },
+      ],
+    },
+  },
 }</pre>
 </div>
 
diff --git a/docs/dyn/datastore_v1.projects.html b/docs/dyn/datastore_v1.projects.html
index 96acf9c..4f71a3f 100644
--- a/docs/dyn/datastore_v1.projects.html
+++ b/docs/dyn/datastore_v1.projects.html
@@ -248,40 +248,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
       &quot;update&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # The entity to update. The entity must already exist. Must have a complete key path.
@@ -299,40 +266,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
       &quot;upsert&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # The entity to upsert. The entity may or may not already exist. The entity key&#x27;s final path element may be incomplete.
@@ -350,40 +284,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
     },
@@ -602,40 +503,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
       &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -659,40 +527,7 @@
           ],
         },
         &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-          &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-              &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                # Object with schema name: Value
-              ],
-            },
-            &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-            &quot;booleanValue&quot;: True or False, # A boolean value.
-            &quot;doubleValue&quot;: 3.14, # A double value.
-            &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-            &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-            &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
-              &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-              &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-            },
-            &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-            &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-              },
-              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                },
-              ],
-            },
-            &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-            &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-            &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-            &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-          },
+          &quot;a_key&quot;: # Object with schema name: Value
         },
       },
       &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -790,7 +625,24 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
+              &quot;a_key&quot;: # Object with schema name: Value
+            },
+          },
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -829,7 +681,24 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
+              &quot;a_key&quot;: # Object with schema name: Value
+            },
+          },
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -890,7 +759,24 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
+              &quot;a_key&quot;: # Object with schema name: Value
+            },
+          },
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
@@ -977,40 +863,7 @@
             ],
           },
           &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
-            &quot;a_key&quot;: { # A message that can hold any of the supported value types and associated metadata.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot contain another array value. A `Value` instance that sets field `array_value` must not set fields `meaning` or `exclude_from_indexes`.
-                &quot;values&quot;: [ # Values in the array. The order of values in an array is preserved as long as all values have identical settings for &#x27;exclude_from_indexes&#x27;.
-                  # Object with schema name: Value
-                ],
-              },
-              &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
-              &quot;booleanValue&quot;: True or False, # A boolean value.
-              &quot;doubleValue&quot;: 3.14, # A double value.
-              &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
-              &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
-              &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
-                &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
-                &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
-              },
-              &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
-              &quot;keyValue&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # A key value.
-                &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
-                  &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
-                  &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
-                },
-                &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
-                  { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
-                    &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
-                    &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                    &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
-                  },
-                ],
-              },
-              &quot;meaning&quot;: 42, # The `meaning` field should only be populated for backwards compatibility.
-              &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
-              &quot;stringValue&quot;: &quot;A String&quot;, # A UTF-8 encoded string value. When `exclude_from_indexes` is false (it is indexed) , may have at most 1500 bytes. Otherwise, may be set to at most 1,000,000 bytes.
-              &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. When stored in the Datastore, precise only to microseconds; any additional precision is rounded down.
-            },
+            &quot;a_key&quot;: # Object with schema name: Value
           },
         },
         &quot;version&quot;: &quot;A String&quot;, # The version of the entity, a strictly positive number that monotonically increases with changes to the entity. This field is set for `FULL` entity results. For missing entities in `LookupResponse`, this is the version of the snapshot that was used to look up the entity, and it is always set except for eventually consistent reads.
@@ -1049,7 +902,24 @@
           &quot;blobValue&quot;: &quot;A String&quot;, # A blob value. May have at most 1,000,000 bytes. When `exclude_from_indexes` is false, may have at most 1500 bytes. In JSON requests, must be base64-encoded.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;doubleValue&quot;: 3.14, # A double value.
-          &quot;entityValue&quot;: # Object with schema name: Entity # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+          &quot;entityValue&quot;: { # A Datastore data object. An entity is limited to 1 megabyte when stored. That _roughly_ corresponds to a limit of 1 megabyte for the serialized form of this message. # An entity value. - May have no key. - May have a key with an incomplete key path. - May have a reserved/read-only key.
+            &quot;key&quot;: { # A unique identifier for an entity. If a key&#x27;s partition ID or any of its path kinds or names are reserved/read-only, the key is reserved/read-only. A reserved/read-only key is forbidden in certain documented contexts. # The entity&#x27;s key. An entity must have a key, unless otherwise documented (for example, an entity in `Value.entity_value` may have no key). An entity&#x27;s kind is its key path&#x27;s last element&#x27;s kind, or null if it has no key.
+              &quot;partitionId&quot;: { # A partition ID identifies a grouping of entities. The grouping is always by project and namespace, however the namespace ID may be empty. A partition ID contains several dimensions: project ID and namespace ID. Partition dimensions: - May be `&quot;&quot;`. - Must be valid UTF-8 bytes. - Must have values that match regex `[A-Za-z\d\.\-_]{1,100}` If the value of any dimension matches regex `__.*__`, the partition is reserved/read-only. A reserved/read-only partition ID is forbidden in certain documented contexts. Foreign partition IDs (in which the project ID does not match the context project ID ) are discouraged. Reads and writes of foreign partition IDs may fail if the project is not in an active state. # Entities are partitioned into subsets, currently identified by a project ID and namespace ID. Queries are scoped to a single partition.
+                &quot;namespaceId&quot;: &quot;A String&quot;, # If not empty, the ID of the namespace to which the entities belong.
+                &quot;projectId&quot;: &quot;A String&quot;, # The ID of the project to which the entities belong.
+              },
+              &quot;path&quot;: [ # The entity path. An entity path consists of one or more elements composed of a kind and a string or numerical identifier, which identify entities. The first element identifies a _root entity_, the second element identifies a _child_ of the root entity, the third element identifies a child of the second entity, and so forth. The entities identified by all prefixes of the path are called the element&#x27;s _ancestors_. An entity path is always fully complete: *all* of the entity&#x27;s ancestors are required to be in the path along with the entity identifier itself. The only exception is that in some documented cases, the identifier in the last path element (for the entity) itself may be omitted. For example, the last path element of the key of `Mutation.insert` may have no identifier. A path can never be empty, and a path can have at most 100 elements.
+                { # A (kind, ID/name) pair used to construct a key path. If either name or ID is set, the element is complete. If neither is set, the element is incomplete.
+                  &quot;id&quot;: &quot;A String&quot;, # The auto-allocated ID of the entity. Never equal to zero. Values less than zero are discouraged and may not be supported in the future.
+                  &quot;kind&quot;: &quot;A String&quot;, # The kind of the entity. A kind matching regex `__.*__` is reserved/read-only. A kind must not contain more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                  &quot;name&quot;: &quot;A String&quot;, # The name of the entity. A name matching regex `__.*__` is reserved/read-only. A name must not be more than 1500 bytes when UTF-8 encoded. Cannot be `&quot;&quot;`.
+                },
+              ],
+            },
+            &quot;properties&quot;: { # The entity&#x27;s properties. The map&#x27;s keys are property names. A property name matching regex `__.*__` is reserved. A reserved property name is forbidden in certain documented contexts. The name must not contain more than 500 characters. The name cannot be `&quot;&quot;`.
+              &quot;a_key&quot;: # Object with schema name: Value
+            },
+          },
           &quot;excludeFromIndexes&quot;: True or False, # If the value should be excluded from all indexes including those defined explicitly.
           &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
             &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
diff --git a/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html b/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html
index 463bc76..e6f1260 100644
--- a/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html
+++ b/docs/dyn/dlp_v2.organizations.locations.dlpJobs.html
@@ -102,7 +102,7 @@
   pageToken: string, The standard list page token.
   type: string, The type of job. Defaults to `DlpJobType.INSPECT`
     Allowed values
-      DLP_JOB_TYPE_UNSPECIFIED - Unused
+      DLP_JOB_TYPE_UNSPECIFIED - Defaults to INSPECT_JOB.
       INSPECT_JOB - The job inspected Google Cloud for sensitive data.
       RISK_ANALYSIS_JOB - The job executed a Risk Analysis computation.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html b/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html
index b2bb548..d012401 100644
--- a/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html
+++ b/docs/dyn/dlp_v2.organizations.locations.jobTriggers.html
@@ -87,7 +87,7 @@
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets a job trigger. See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.</p>
 <p class="toc_element">
-  <code><a href="#list">list(parent, filter=None, locationId=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+  <code><a href="#list">list(parent, filter=None, locationId=None, orderBy=None, pageSize=None, pageToken=None, type=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists job triggers. See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -967,7 +967,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, filter=None, locationId=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(parent, filter=None, locationId=None, orderBy=None, pageSize=None, pageToken=None, type=None, x__xgafv=None)</code>
   <pre>Lists job triggers. See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
 
 Args:
@@ -977,6 +977,11 @@
   orderBy: string, Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the JobTrigger was created. - `update_time`: corresponds to time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to JobTrigger&#x27;s name. - `display_name`: corresponds to JobTrigger&#x27;s display name. - `status`: corresponds to JobTrigger&#x27;s status.
   pageSize: integer, Size of the page, can be limited by a server.
   pageToken: string, Page token to continue retrieval. Comes from previous call to ListJobTriggers. `order_by` field must not change for subsequent calls.
+  type: string, The type of jobs. Will use `DlpJobType.INSPECT` if not set.
+    Allowed values
+      DLP_JOB_TYPE_UNSPECIFIED - Defaults to INSPECT_JOB.
+      INSPECT_JOB - The job inspected Google Cloud for sensitive data.
+      RISK_ANALYSIS_JOB - The job executed a Risk Analysis computation.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/dlp_v2.projects.dlpJobs.html b/docs/dyn/dlp_v2.projects.dlpJobs.html
index 04993d2..de622cc 100644
--- a/docs/dyn/dlp_v2.projects.dlpJobs.html
+++ b/docs/dyn/dlp_v2.projects.dlpJobs.html
@@ -2441,7 +2441,7 @@
   pageToken: string, The standard list page token.
   type: string, The type of job. Defaults to `DlpJobType.INSPECT`
     Allowed values
-      DLP_JOB_TYPE_UNSPECIFIED - Unused
+      DLP_JOB_TYPE_UNSPECIFIED - Defaults to INSPECT_JOB.
       INSPECT_JOB - The job inspected Google Cloud for sensitive data.
       RISK_ANALYSIS_JOB - The job executed a Risk Analysis computation.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/dlp_v2.projects.jobTriggers.html b/docs/dyn/dlp_v2.projects.jobTriggers.html
index 2cb1926..457070e 100644
--- a/docs/dyn/dlp_v2.projects.jobTriggers.html
+++ b/docs/dyn/dlp_v2.projects.jobTriggers.html
@@ -90,7 +90,7 @@
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Gets a job trigger. See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.</p>
 <p class="toc_element">
-  <code><a href="#list">list(parent, filter=None, locationId=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+  <code><a href="#list">list(parent, filter=None, locationId=None, orderBy=None, pageSize=None, pageToken=None, type=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists job triggers. See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -1928,7 +1928,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, filter=None, locationId=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(parent, filter=None, locationId=None, orderBy=None, pageSize=None, pageToken=None, type=None, x__xgafv=None)</code>
   <pre>Lists job triggers. See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
 
 Args:
@@ -1938,6 +1938,11 @@
   orderBy: string, Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the JobTrigger was created. - `update_time`: corresponds to time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to JobTrigger&#x27;s name. - `display_name`: corresponds to JobTrigger&#x27;s display name. - `status`: corresponds to JobTrigger&#x27;s status.
   pageSize: integer, Size of the page, can be limited by a server.
   pageToken: string, Page token to continue retrieval. Comes from previous call to ListJobTriggers. `order_by` field must not change for subsequent calls.
+  type: string, The type of jobs. Will use `DlpJobType.INSPECT` if not set.
+    Allowed values
+      DLP_JOB_TYPE_UNSPECIFIED - Defaults to INSPECT_JOB.
+      INSPECT_JOB - The job inspected Google Cloud for sensitive data.
+      RISK_ANALYSIS_JOB - The job executed a Risk Analysis computation.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/dlp_v2.projects.locations.dlpJobs.html b/docs/dyn/dlp_v2.projects.locations.dlpJobs.html
index 87a7fff..0f4bb2c 100644
--- a/docs/dyn/dlp_v2.projects.locations.dlpJobs.html
+++ b/docs/dyn/dlp_v2.projects.locations.dlpJobs.html
@@ -2559,7 +2559,7 @@
   pageToken: string, The standard list page token.
   type: string, The type of job. Defaults to `DlpJobType.INSPECT`
     Allowed values
-      DLP_JOB_TYPE_UNSPECIFIED - Unused
+      DLP_JOB_TYPE_UNSPECIFIED - Defaults to INSPECT_JOB.
       INSPECT_JOB - The job inspected Google Cloud for sensitive data.
       RISK_ANALYSIS_JOB - The job executed a Risk Analysis computation.
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/dlp_v2.projects.locations.jobTriggers.html b/docs/dyn/dlp_v2.projects.locations.jobTriggers.html
index 6731e29..92eb34e 100644
--- a/docs/dyn/dlp_v2.projects.locations.jobTriggers.html
+++ b/docs/dyn/dlp_v2.projects.locations.jobTriggers.html
@@ -93,7 +93,7 @@
   <code><a href="#hybridInspect">hybridInspect(name, body=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Inspect hybrid content and store findings to a trigger. The inspection will be processed asynchronously. To review the findings monitor the jobs within the trigger.</p>
 <p class="toc_element">
-  <code><a href="#list">list(parent, filter=None, locationId=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</a></code></p>
+  <code><a href="#list">list(parent, filter=None, locationId=None, orderBy=None, pageSize=None, pageToken=None, type=None, x__xgafv=None)</a></code></p>
 <p class="firstline">Lists job triggers. See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
@@ -2019,7 +2019,7 @@
 </div>
 
 <div class="method">
-    <code class="details" id="list">list(parent, filter=None, locationId=None, orderBy=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
+    <code class="details" id="list">list(parent, filter=None, locationId=None, orderBy=None, pageSize=None, pageToken=None, type=None, x__xgafv=None)</code>
   <pre>Lists job triggers. See https://cloud.google.com/dlp/docs/creating-job-triggers to learn more.
 
 Args:
@@ -2029,6 +2029,11 @@
   orderBy: string, Comma separated list of triggeredJob fields to order by, followed by `asc` or `desc` postfix. This list is case-insensitive, default sorting order is ascending, redundant space characters are insignificant. Example: `name asc,update_time, create_time desc` Supported fields are: - `create_time`: corresponds to time the JobTrigger was created. - `update_time`: corresponds to time the JobTrigger was last updated. - `last_run_time`: corresponds to the last time the JobTrigger ran. - `name`: corresponds to JobTrigger&#x27;s name. - `display_name`: corresponds to JobTrigger&#x27;s display name. - `status`: corresponds to JobTrigger&#x27;s status.
   pageSize: integer, Size of the page, can be limited by a server.
   pageToken: string, Page token to continue retrieval. Comes from previous call to ListJobTriggers. `order_by` field must not change for subsequent calls.
+  type: string, The type of jobs. Will use `DlpJobType.INSPECT` if not set.
+    Allowed values
+      DLP_JOB_TYPE_UNSPECIFIED - Defaults to INSPECT_JOB.
+      INSPECT_JOB - The job inspected Google Cloud for sensitive data.
+      RISK_ANALYSIS_JOB - The job executed a Risk Analysis computation.
   x__xgafv: string, V1 error format.
     Allowed values
       1 - v1 error format
diff --git a/docs/dyn/documentai_v1.operations.html b/docs/dyn/documentai_v1.operations.html
index 7ddeffe..66a04e1 100644
--- a/docs/dyn/documentai_v1.operations.html
+++ b/docs/dyn/documentai_v1.operations.html
@@ -75,46 +75,13 @@
 <h1><a href="documentai_v1.html">Cloud Document AI API</a> . <a href="documentai_v1.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="#list">list(name, filter=None, pageSize=None, pageToken=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`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `"/v1/{name=users/*}/operations"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.</p>
-<p class="toc_element">
-  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
-<p class="firstline">Retrieves the next page of results.</p>
 <h3>Method Details</h3>
 <div class="method">
-    <code class="details" id="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); } The JSON representation for `Empty` is empty JSON object `{}`.
-}</pre>
-</div>
-
-<div class="method">
     <code class="details" id="close">close()</code>
   <pre>Close httplib2 connections.</pre>
 </div>
@@ -137,61 +104,4 @@
 }</pre>
 </div>
 
-<div class="method">
-    <code class="details" id="list">list(name, filter=None, pageSize=None, pageToken=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`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `&quot;/v1/{name=users/*}/operations&quot;` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.
-
-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.
-  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 response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
-        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
-      },
-    },
-  ],
-}</pre>
-</div>
-
-<div class="method">
-    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
-  <pre>Retrieves the next page of results.
-
-Args:
-  previous_request: The request for the previous page. (required)
-  previous_response: The response from the request for the previous page. (required)
-
-Returns:
-  A request object that you can call &#x27;execute()&#x27; on to request the next
-  page. Returns None if there are no more items in the collection.
-    </pre>
-</div>
-
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/documentai_v1.projects.locations.operations.html b/docs/dyn/documentai_v1.projects.locations.operations.html
index fc847cd..a5b45fa 100644
--- a/docs/dyn/documentai_v1.projects.locations.operations.html
+++ b/docs/dyn/documentai_v1.projects.locations.operations.html
@@ -75,13 +75,40 @@
 <h1><a href="documentai_v1.html">Cloud Document AI API</a> . <a href="documentai_v1.projects.html">projects</a> . <a href="documentai_v1.projects.locations.html">locations</a> . <a href="documentai_v1.projects.locations.operations.html">operations</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="#cancelOperation">cancelOperation(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="#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, 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`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `"/v1/{name=users/*}/operations"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
 <h3>Method Details</h3>
 <div class="method">
+    <code class="details" id="cancelOperation">cancelOperation(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); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="close">close()</code>
   <pre>Close httplib2 connections.</pre>
 </div>
@@ -121,4 +148,61 @@
 }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="list">list(name, filter=None, pageSize=None, pageToken=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`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `&quot;/v1/{name=users/*}/operations&quot;` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.
+
+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.
+  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 response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/documentai_v1.uiv1beta3.projects.locations.operations.html b/docs/dyn/documentai_v1.uiv1beta3.projects.locations.operations.html
index 18b59fd..9defab1 100644
--- a/docs/dyn/documentai_v1.uiv1beta3.projects.locations.operations.html
+++ b/docs/dyn/documentai_v1.uiv1beta3.projects.locations.operations.html
@@ -75,13 +75,40 @@
 <h1><a href="documentai_v1.html">Cloud Document AI API</a> . <a href="documentai_v1.uiv1beta3.html">uiv1beta3</a> . <a href="documentai_v1.uiv1beta3.projects.html">projects</a> . <a href="documentai_v1.uiv1beta3.projects.locations.html">locations</a> . <a href="documentai_v1.uiv1beta3.projects.locations.operations.html">operations</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="#cancelOperation">cancelOperation(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="#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, 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`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `"/v1/{name=users/*}/operations"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
 <h3>Method Details</h3>
 <div class="method">
+    <code class="details" id="cancelOperation">cancelOperation(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); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="close">close()</code>
   <pre>Close httplib2 connections.</pre>
 </div>
@@ -121,4 +148,61 @@
 }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="list">list(name, filter=None, pageSize=None, pageToken=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`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `&quot;/v1/{name=users/*}/operations&quot;` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.
+
+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.
+  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 response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/documentai_v1beta3.projects.locations.html b/docs/dyn/documentai_v1beta3.projects.locations.html
index d34c57d..5f249d8 100644
--- a/docs/dyn/documentai_v1beta3.projects.locations.html
+++ b/docs/dyn/documentai_v1beta3.projects.locations.html
@@ -137,7 +137,7 @@
           { # EntityType is the wrapper of a label of the corresponding model with detailed attributes and limitations for entity-based processors. Multiple types can also compose a dependency tree to represent nested types.
             &quot;baseType&quot;: &quot;A String&quot;, # Type of the entity. It must be one of the following: `document` - the entity represents a classification of a logical document. `object` - if the entity has properties it is likely an object (or or a document.) `datetime` - the entity is a date or time value. `money` - the entity represents a money value amount. `number` - the entity is a number - integer or floating point. `string` - the entity is a string value. `boolean` - the entity is a boolean value. `address` - the entity is a location address.
             &quot;description&quot;: &quot;A String&quot;, # Description of the entity type.
-            &quot;enumValues&quot;: [ # For some entity types there are only a few possible values. They can be specified here.
+            &quot;enumValues&quot;: [ # If specified, lists all the possible values for this entity.
               &quot;A String&quot;,
             ],
             &quot;occurrenceType&quot;: &quot;A String&quot;, # Occurrence type limits the number of times an entity type appears in the document.
diff --git a/docs/dyn/documentai_v1beta3.projects.locations.operations.html b/docs/dyn/documentai_v1beta3.projects.locations.operations.html
index fe51a1d..9ec8953 100644
--- a/docs/dyn/documentai_v1beta3.projects.locations.operations.html
+++ b/docs/dyn/documentai_v1beta3.projects.locations.operations.html
@@ -75,13 +75,40 @@
 <h1><a href="documentai_v1beta3.html">Cloud Document AI API</a> . <a href="documentai_v1beta3.projects.html">projects</a> . <a href="documentai_v1beta3.projects.locations.html">locations</a> . <a href="documentai_v1beta3.projects.locations.operations.html">operations</a></h1>
 <h2>Instance Methods</h2>
 <p class="toc_element">
+  <code><a href="#cancelOperation">cancelOperation(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="#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, 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`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `"/v1/{name=users/*}/operations"` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
 <h3>Method Details</h3>
 <div class="method">
+    <code class="details" id="cancelOperation">cancelOperation(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); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
     <code class="details" id="close">close()</code>
   <pre>Close httplib2 connections.</pre>
 </div>
@@ -121,4 +148,61 @@
 }</pre>
 </div>
 
+<div class="method">
+    <code class="details" id="list">list(name, filter=None, pageSize=None, pageToken=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`. NOTE: the `name` binding allows API services to override the binding to use different resource name schemes, such as `users/*/operations`. To override the binding, API services can add a binding such as `&quot;/v1/{name=users/*}/operations&quot;` to their service configuration. For backwards compatibility, the default name includes the operations collection id, however overriding users must ensure the name binding is the parent resource, without the operations collection id.
+
+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.
+  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 response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.
+        &quot;a_key&quot;: &quot;&quot;, # Properties of the object. Contains field @type with type URL.
+      },
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
 </body></html>
\ No newline at end of file
diff --git a/docs/dyn/firebase_v1beta1.projects.html b/docs/dyn/firebase_v1beta1.projects.html
index d1659ce..baf2d9e 100644
--- a/docs/dyn/firebase_v1beta1.projects.html
+++ b/docs/dyn/firebase_v1beta1.projects.html
@@ -147,8 +147,6 @@
 
 { # All fields are required.
   &quot;locationId&quot;: &quot;A String&quot;, # Deprecated. Instead, to set a Project&#x27;s default GCP resource location, call [`FinalizeDefaultLocation`](../projects.defaultLocation/finalize) after you add Firebase resources to the GCP `Project`. The ID of the Project&#x27;s default GCP resource location. The location must be one of the available [GCP resource locations](https://firebase.google.com/docs/projects/locations).
-  &quot;regionCode&quot;: &quot;A String&quot;, # Deprecated. Instead, to link a Project with a Google Analytics account, call [`AddGoogleAnalytics`](../../v1beta1/projects/addGoogleAnalytics) after you add Firebase resources to the GCP `Project`. The region code (CLDR) that the account will use for Google Analytics data For example: US, GB, or DE In Java, use `com.google.i18n.identifiers.RegionCode`.
-  &quot;timeZone&quot;: &quot;A String&quot;, # Deprecated. Instead, to link a Project with a Google Analytics account, call [`AddGoogleAnalytics`](../../v1beta1/projects/addGoogleAnalytics) after you add Firebase resources to the GCP `Project`. The time zone that the account will use for Google Analytics data. For example: America/Los_Angeles or Africa/Abidjan
 }
 
   x__xgafv: string, V1 error format.
diff --git a/docs/dyn/firebaseappcheck_v1beta.html b/docs/dyn/firebaseappcheck_v1beta.html
new file mode 100644
index 0000000..78bef2d
--- /dev/null
+++ b/docs/dyn/firebaseappcheck_v1beta.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="firebaseappcheck_v1beta.html">Firebase App Check API</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="firebaseappcheck_v1beta.jwks.html">jwks()</a></code>
+</p>
+<p class="firstline">Returns the jwks Resource.</p>
+
+<p class="toc_element">
+  <code><a href="firebaseappcheck_v1beta.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/firebaseappcheck_v1beta.jwks.html b/docs/dyn/firebaseappcheck_v1beta.jwks.html
new file mode 100644
index 0000000..86242fc
--- /dev/null
+++ b/docs/dyn/firebaseappcheck_v1beta.jwks.html
@@ -0,0 +1,117 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="firebaseappcheck_v1beta.html">Firebase App Check API</a> . <a href="firebaseappcheck_v1beta.jwks.html">jwks</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">Returns a public JWK set as specified by [RFC 7517](https://tools.ietf.org/html/rfc7517) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.</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>Returns a public JWK set as specified by [RFC 7517](https://tools.ietf.org/html/rfc7517) that can be used to verify App Check tokens. Exactly one of the public keys in the returned set will successfully validate any App Check token that is currently valid.
+
+Args:
+  name: string, Required. The relative resource name to the public JWK set. Must always be exactly the string `jwks`. (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The currently active set of public keys that can be used to verify App Check tokens. This object is a JWK set as specified by [section 5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5). For security, the response **must not** be cached for longer than one day.
+  &quot;keys&quot;: [ # The set of public keys. See [section 5.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-5).
+    { # A JWK as specified by [section 4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4) and [section 6.3.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1).
+      &quot;alg&quot;: &quot;A String&quot;, # See [section 4.4 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.4).
+      &quot;e&quot;: &quot;A String&quot;, # See [section 6.3.1.2 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.2).
+      &quot;kid&quot;: &quot;A String&quot;, # See [section 4.5 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.5).
+      &quot;kty&quot;: &quot;A String&quot;, # See [section 4.1 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.1).
+      &quot;n&quot;: &quot;A String&quot;, # See [section 6.3.1.1 of RFC 7518](https://tools.ietf.org/html/rfc7518#section-6.3.1.1).
+      &quot;use&quot;: &quot;A String&quot;, # See [section 4.2 of RFC 7517](https://tools.ietf.org/html/rfc7517#section-4.2).
+    },
+  ],
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/firebaseappcheck_v1beta.projects.apps.debugTokens.html b/docs/dyn/firebaseappcheck_v1beta.projects.apps.debugTokens.html
new file mode 100644
index 0000000..608d2cb
--- /dev/null
+++ b/docs/dyn/firebaseappcheck_v1beta.projects.apps.debugTokens.html
@@ -0,0 +1,246 @@
+<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="firebaseappcheck_v1beta.html">Firebase App Check API</a> . <a href="firebaseappcheck_v1beta.projects.html">projects</a> . <a href="firebaseappcheck_v1beta.projects.apps.html">apps</a> . <a href="firebaseappcheck_v1beta.projects.apps.debugTokens.html">debugTokens</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#close">close()</a></code></p>
+<p class="firstline">Close httplib2 connections.</p>
+<p class="toc_element">
+  <code><a href="#create">create(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Creates a new DebugToken for the specified app. For security reasons, after the creation operation completes, the `token` field cannot be updated or retrieved, but you can revoke the debug token using DeleteDebugToken. Each app can have a maximum of 20 debug tokens.</p>
+<p class="toc_element">
+  <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Deletes the specified DebugToken. A deleted debug token cannot be used to exchange for an App Check token. Use this method when you suspect the secret `token` has been compromised or when you no longer need the debug token.</p>
+<p class="toc_element">
+  <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the specified DebugToken. For security reasons, the `token` field is never populated in the response.</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 all DebugTokens for the specified app. For security reasons, the `token` field is never populated in the response.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the specified DebugToken. For security reasons, the `token` field cannot be updated, nor will it be populated in the response, but you can revoke the debug token using DeleteDebugToken.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="close">close()</code>
+  <pre>Close httplib2 connections.</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="create">create(parent, body=None, x__xgafv=None)</code>
+  <pre>Creates a new DebugToken for the specified app. For security reasons, after the creation operation completes, the `token` field cannot be updated or retrieved, but you can revoke the debug token using DeleteDebugToken. Each app can have a maximum of 20 debug tokens.
+
+Args:
+  parent: string, Required. The relative resource name of the parent app in which the specified DebugToken will be created, in the format: ``` projects/{project_number}/apps/{app_id} ``` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A *debug token* is a secret used during the development or integration testing of an app. It essentially allows the development or integration testing to bypass app attestation while still allowing App Check to enforce protection on supported production Firebase services.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. A human readable display name used to identify this debug token.
+  &quot;name&quot;: &quot;A String&quot;, # The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```
+  &quot;token&quot;: &quot;A String&quot;, # Input only. Immutable. The secret token itself. Must be provided during creation, and must be a UUID4, case insensitive. This field is immutable once set, and cannot be provided during an UpdateDebugToken request. You can, however, delete this debug token using DeleteDebugToken to revoke it. For security reasons, this field will never be populated in any response.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A *debug token* is a secret used during the development or integration testing of an app. It essentially allows the development or integration testing to bypass app attestation while still allowing App Check to enforce protection on supported production Firebase services.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. A human readable display name used to identify this debug token.
+  &quot;name&quot;: &quot;A String&quot;, # The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```
+  &quot;token&quot;: &quot;A String&quot;, # Input only. Immutable. The secret token itself. Must be provided during creation, and must be a UUID4, case insensitive. This field is immutable once set, and cannot be provided during an UpdateDebugToken request. You can, however, delete this debug token using DeleteDebugToken to revoke it. For security reasons, this field will never be populated in any response.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="delete">delete(name, x__xgafv=None)</code>
+  <pre>Deletes the specified DebugToken. A deleted debug token cannot be used to exchange for an App Check token. Use this method when you suspect the secret `token` has been compromised or when you no longer need the debug token.
+
+Args:
+  name: string, Required. The relative resource name of the DebugToken to delete, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ``` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="get">get(name, x__xgafv=None)</code>
+  <pre>Gets the specified DebugToken. For security reasons, the `token` field is never populated in the response.
+
+Args:
+  name: string, Required. The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_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 *debug token* is a secret used during the development or integration testing of an app. It essentially allows the development or integration testing to bypass app attestation while still allowing App Check to enforce protection on supported production Firebase services.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. A human readable display name used to identify this debug token.
+  &quot;name&quot;: &quot;A String&quot;, # The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```
+  &quot;token&quot;: &quot;A String&quot;, # Input only. Immutable. The secret token itself. Must be provided during creation, and must be a UUID4, case insensitive. This field is immutable once set, and cannot be provided during an UpdateDebugToken request. You can, however, delete this debug token using DeleteDebugToken to revoke it. For security reasons, this field will never be populated in any response.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists all DebugTokens for the specified app. For security reasons, the `token` field is never populated in the response.
+
+Args:
+  parent: string, Required. The relative resource name of the parent app for which to list each associated DebugToken, in the format: ``` projects/{project_number}/apps/{app_id} ``` (required)
+  pageSize: integer, The maximum number of DebugTokens to return in the response. Note that an app can have at most 20 debug tokens. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.
+  pageToken: string, Token returned from a previous call to ListDebugTokens indicating where in the set of DebugTokens to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListDebugTokens must match the call that provided the page token; if they do not match, the result is undefined.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for the ListDebugTokens method.
+  &quot;debugTokens&quot;: [ # The DebugTokens retrieved.
+    { # A *debug token* is a secret used during the development or integration testing of an app. It essentially allows the development or integration testing to bypass app attestation while still allowing App Check to enforce protection on supported production Firebase services.
+      &quot;displayName&quot;: &quot;A String&quot;, # Required. A human readable display name used to identify this debug token.
+      &quot;name&quot;: &quot;A String&quot;, # The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```
+      &quot;token&quot;: &quot;A String&quot;, # Input only. Immutable. The secret token itself. Must be provided during creation, and must be a UUID4, case insensitive. This field is immutable once set, and cannot be provided during an UpdateDebugToken request. You can, however, delete this debug token using DeleteDebugToken to revoke it. For security reasons, this field will never be populated in any response.
+    },
+  ],
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # If the result list is too large to fit in a single response, then a token is returned. If the string is empty or omitted, then this response is the last page of results. This token can be used in a subsequent call to ListDebugTokens to find the next group of DebugTokens. Page tokens are short-lived and should not be persisted.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates the specified DebugToken. For security reasons, the `token` field cannot be updated, nor will it be populated in the response, but you can revoke the debug token using DeleteDebugToken.
+
+Args:
+  name: string, The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ``` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # A *debug token* is a secret used during the development or integration testing of an app. It essentially allows the development or integration testing to bypass app attestation while still allowing App Check to enforce protection on supported production Firebase services.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. A human readable display name used to identify this debug token.
+  &quot;name&quot;: &quot;A String&quot;, # The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```
+  &quot;token&quot;: &quot;A String&quot;, # Input only. Immutable. The secret token itself. Must be provided during creation, and must be a UUID4, case insensitive. This field is immutable once set, and cannot be provided during an UpdateDebugToken request. You can, however, delete this debug token using DeleteDebugToken to revoke it. For security reasons, this field will never be populated in any response.
+}
+
+  updateMask: string, Required. A comma-separated list of names of fields in the DebugToken to update. Example: `display_name`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # A *debug token* is a secret used during the development or integration testing of an app. It essentially allows the development or integration testing to bypass app attestation while still allowing App Check to enforce protection on supported production Firebase services.
+  &quot;displayName&quot;: &quot;A String&quot;, # Required. A human readable display name used to identify this debug token.
+  &quot;name&quot;: &quot;A String&quot;, # The relative resource name of the debug token, in the format: ``` projects/{project_number}/apps/{app_id}/debugTokens/{debug_token_id} ```
+  &quot;token&quot;: &quot;A String&quot;, # Input only. Immutable. The secret token itself. Must be provided during creation, and must be a UUID4, case insensitive. This field is immutable once set, and cannot be provided during an UpdateDebugToken request. You can, however, delete this debug token using DeleteDebugToken to revoke it. For security reasons, this field will never be populated in any response.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/firebaseappcheck_v1beta.projects.apps.deviceCheckConfig.html b/docs/dyn/firebaseappcheck_v1beta.projects.apps.deviceCheckConfig.html
new file mode 100644
index 0000000..2523bb7
--- /dev/null
+++ b/docs/dyn/firebaseappcheck_v1beta.projects.apps.deviceCheckConfig.html
@@ -0,0 +1,177 @@
+<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="firebaseappcheck_v1beta.html">Firebase App Check API</a> . <a href="firebaseappcheck_v1beta.projects.html">projects</a> . <a href="firebaseappcheck_v1beta.projects.apps.html">apps</a> . <a href="firebaseappcheck_v1beta.projects.apps.deviceCheckConfig.html">deviceCheckConfig</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#batchGet">batchGet(parent, names=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the DeviceCheckConfigs for the specified list of apps atomically. For security reasons, the `private_key` field is never populated in the response.</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 the DeviceCheckConfig for the specified app. For security reasons, the `private_key` field is never populated in the response.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the DeviceCheckConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange DeviceCheck tokens for App Check tokens. For security reasons, the `private_key` field is never populated in the response.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="batchGet">batchGet(parent, names=None, x__xgafv=None)</code>
+  <pre>Gets the DeviceCheckConfigs for the specified list of apps atomically. For security reasons, the `private_key` field is never populated in the response.
+
+Args:
+  parent: string, Required. The parent project name shared by all DeviceCheckConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails. (required)
+  names: string, Required. The relative resource names of the DeviceCheckConfigs to retrieve, in the format ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` A maximum of 100 objects can be retrieved in a batch. (repeated)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for the BatchGetDeviceCheckConfigs method.
+  &quot;configs&quot;: [ # DeviceCheckConfigs retrieved.
+    { # An app&#x27;s DeviceCheck configuration object. This configuration is used by ExchangeDeviceCheckToken to validate device tokens issued to apps by DeviceCheck.
+      &quot;keyId&quot;: &quot;A String&quot;, # Required. The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.
+      &quot;name&quot;: &quot;A String&quot;, # Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```
+      &quot;privateKey&quot;: &quot;A String&quot;, # Required. Input only. The contents of the private key (`.p8`) file associated with the key specified by `key_id`. For security reasons, this field will never be populated in any response.
+      &quot;privateKeySet&quot;: True or False, # Output only. Whether the `private_key` field was previously set. Since we will never return the `private_key` field, this field is the only way to find out whether it was previously set.
+    },
+  ],
+}</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="get">get(name, x__xgafv=None)</code>
+  <pre>Gets the DeviceCheckConfig for the specified app. For security reasons, the `private_key` field is never populated in the response.
+
+Args:
+  name: string, Required. The relative resource name of the DeviceCheckConfig, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An app&#x27;s DeviceCheck configuration object. This configuration is used by ExchangeDeviceCheckToken to validate device tokens issued to apps by DeviceCheck.
+  &quot;keyId&quot;: &quot;A String&quot;, # Required. The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.
+  &quot;name&quot;: &quot;A String&quot;, # Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```
+  &quot;privateKey&quot;: &quot;A String&quot;, # Required. Input only. The contents of the private key (`.p8`) file associated with the key specified by `key_id`. For security reasons, this field will never be populated in any response.
+  &quot;privateKeySet&quot;: True or False, # Output only. Whether the `private_key` field was previously set. Since we will never return the `private_key` field, this field is the only way to find out whether it was previously set.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates the DeviceCheckConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange DeviceCheck tokens for App Check tokens. For security reasons, the `private_key` field is never populated in the response.
+
+Args:
+  name: string, Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ``` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # An app&#x27;s DeviceCheck configuration object. This configuration is used by ExchangeDeviceCheckToken to validate device tokens issued to apps by DeviceCheck.
+  &quot;keyId&quot;: &quot;A String&quot;, # Required. The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.
+  &quot;name&quot;: &quot;A String&quot;, # Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```
+  &quot;privateKey&quot;: &quot;A String&quot;, # Required. Input only. The contents of the private key (`.p8`) file associated with the key specified by `key_id`. For security reasons, this field will never be populated in any response.
+  &quot;privateKeySet&quot;: True or False, # Output only. Whether the `private_key` field was previously set. Since we will never return the `private_key` field, this field is the only way to find out whether it was previously set.
+}
+
+  updateMask: string, Required. A comma-separated list of names of fields in the DeviceCheckConfig Gets to update. Example: `key_id,private_key`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An app&#x27;s DeviceCheck configuration object. This configuration is used by ExchangeDeviceCheckToken to validate device tokens issued to apps by DeviceCheck.
+  &quot;keyId&quot;: &quot;A String&quot;, # Required. The key identifier of a private key enabled with DeviceCheck, created in your Apple Developer account.
+  &quot;name&quot;: &quot;A String&quot;, # Required. The relative resource name of the DeviceCheck configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/deviceCheckConfig ```
+  &quot;privateKey&quot;: &quot;A String&quot;, # Required. Input only. The contents of the private key (`.p8`) file associated with the key specified by `key_id`. For security reasons, this field will never be populated in any response.
+  &quot;privateKeySet&quot;: True or False, # Output only. Whether the `private_key` field was previously set. Since we will never return the `private_key` field, this field is the only way to find out whether it was previously set.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/firebaseappcheck_v1beta.projects.apps.html b/docs/dyn/firebaseappcheck_v1beta.projects.apps.html
new file mode 100644
index 0000000..19d595f
--- /dev/null
+++ b/docs/dyn/firebaseappcheck_v1beta.projects.apps.html
@@ -0,0 +1,251 @@
+<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="firebaseappcheck_v1beta.html">Firebase App Check API</a> . <a href="firebaseappcheck_v1beta.projects.html">projects</a> . <a href="firebaseappcheck_v1beta.projects.apps.html">apps</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="firebaseappcheck_v1beta.projects.apps.debugTokens.html">debugTokens()</a></code>
+</p>
+<p class="firstline">Returns the debugTokens Resource.</p>
+
+<p class="toc_element">
+  <code><a href="firebaseappcheck_v1beta.projects.apps.deviceCheckConfig.html">deviceCheckConfig()</a></code>
+</p>
+<p class="firstline">Returns the deviceCheckConfig Resource.</p>
+
+<p class="toc_element">
+  <code><a href="firebaseappcheck_v1beta.projects.apps.recaptchaConfig.html">recaptchaConfig()</a></code>
+</p>
+<p class="firstline">Returns the recaptchaConfig 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="#exchangeCustomToken">exchangeCustomToken(app, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Validates a custom token signed using your project's Admin SDK service account credentials. If valid, returns an App Check token encapsulated in an AttestationTokenResponse.</p>
+<p class="toc_element">
+  <code><a href="#exchangeDebugToken">exchangeDebugToken(app, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Validates a debug token secret that you have previously created using CreateDebugToken. If valid, returns an App Check token encapsulated in an AttestationTokenResponse. Note that a restrictive quota is enforced on this method to prevent accidental exposure of the app to abuse.</p>
+<p class="toc_element">
+  <code><a href="#exchangeDeviceCheckToken">exchangeDeviceCheckToken(app, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Accepts a [`device_token`](https://developer.apple.com/documentation/devicecheck/dcdevice) issued by DeviceCheck, and attempts to validate it with Apple. If valid, returns an App Check token encapsulated in an AttestationTokenResponse.</p>
+<p class="toc_element">
+  <code><a href="#exchangeRecaptchaToken">exchangeRecaptchaToken(app, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Validates a [reCAPTCHA v3 response token](https://developers.google.com/recaptcha/docs/v3). If valid, returns an App Check token encapsulated in an AttestationTokenResponse.</p>
+<p class="toc_element">
+  <code><a href="#exchangeSafetyNetToken">exchangeSafetyNetToken(app, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Validates a [SafetyNet token](https://developer.android.com/training/safetynet/attestation#request-attestation-step). If valid, returns an App Check token encapsulated in an AttestationTokenResponse.</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="exchangeCustomToken">exchangeCustomToken(app, body=None, x__xgafv=None)</code>
+  <pre>Validates a custom token signed using your project&#x27;s Admin SDK service account credentials. If valid, returns an App Check token encapsulated in an AttestationTokenResponse.
+
+Args:
+  app: string, Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google&#x27;s [AIP 2510](https://google.aip.dev/cloud/2510) standard. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for the ExchangeCustomToken method.
+  &quot;customToken&quot;: &quot;A String&quot;, # A custom token signed using your project&#x27;s Admin SDK service account credentials.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Encapsulates an *App Check token*, which are used to access Firebase services protected by App Check.
+  &quot;attestationToken&quot;: &quot;A String&quot;, # An App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check.
+  &quot;ttl&quot;: &quot;A String&quot;, # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="exchangeDebugToken">exchangeDebugToken(app, body=None, x__xgafv=None)</code>
+  <pre>Validates a debug token secret that you have previously created using CreateDebugToken. If valid, returns an App Check token encapsulated in an AttestationTokenResponse. Note that a restrictive quota is enforced on this method to prevent accidental exposure of the app to abuse.
+
+Args:
+  app: string, Required. The relative resource name of the app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google&#x27;s [AIP 2510](https://google.aip.dev/cloud/2510) standard. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for the ExchangeDebugToken method.
+  &quot;debugToken&quot;: &quot;A String&quot;, # A debug token secret. This string must match a debug token secret previously created using CreateDebugToken.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Encapsulates an *App Check token*, which are used to access Firebase services protected by App Check.
+  &quot;attestationToken&quot;: &quot;A String&quot;, # An App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check.
+  &quot;ttl&quot;: &quot;A String&quot;, # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="exchangeDeviceCheckToken">exchangeDeviceCheckToken(app, body=None, x__xgafv=None)</code>
+  <pre>Accepts a [`device_token`](https://developer.apple.com/documentation/devicecheck/dcdevice) issued by DeviceCheck, and attempts to validate it with Apple. If valid, returns an App Check token encapsulated in an AttestationTokenResponse.
+
+Args:
+  app: string, Required. The relative resource name of the iOS app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google&#x27;s [AIP 2510](https://google.aip.dev/cloud/2510) standard. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for the ExchangeDeviceCheckToken method.
+  &quot;deviceToken&quot;: &quot;A String&quot;, # The `device_token` as returned by Apple&#x27;s client-side [DeviceCheck API](https://developer.apple.com/documentation/devicecheck/dcdevice). This is the Base64 encoded `Data` (Swift) or `NSData` (ObjC) object.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Encapsulates an *App Check token*, which are used to access Firebase services protected by App Check.
+  &quot;attestationToken&quot;: &quot;A String&quot;, # An App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check.
+  &quot;ttl&quot;: &quot;A String&quot;, # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="exchangeRecaptchaToken">exchangeRecaptchaToken(app, body=None, x__xgafv=None)</code>
+  <pre>Validates a [reCAPTCHA v3 response token](https://developers.google.com/recaptcha/docs/v3). If valid, returns an App Check token encapsulated in an AttestationTokenResponse.
+
+Args:
+  app: string, Required. The relative resource name of the web app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google&#x27;s [AIP 2510](https://google.aip.dev/cloud/2510) standard. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for the ExchangeRecaptchaToken method.
+  &quot;recaptchaToken&quot;: &quot;A String&quot;, # The reCAPTCHA token as returned by the [reCAPTCHA v3 JavaScript API](https://developers.google.com/recaptcha/docs/v3).
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Encapsulates an *App Check token*, which are used to access Firebase services protected by App Check.
+  &quot;attestationToken&quot;: &quot;A String&quot;, # An App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check.
+  &quot;ttl&quot;: &quot;A String&quot;, # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="exchangeSafetyNetToken">exchangeSafetyNetToken(app, body=None, x__xgafv=None)</code>
+  <pre>Validates a [SafetyNet token](https://developer.android.com/training/safetynet/attestation#request-attestation-step). If valid, returns an App Check token encapsulated in an AttestationTokenResponse.
+
+Args:
+  app: string, Required. The relative resource name of the Android app, in the format: ``` projects/{project_number}/apps/{app_id} ``` If necessary, the `project_number` element can be replaced with the project ID of the Firebase project. Learn more about using project identifiers in Google&#x27;s [AIP 2510](https://google.aip.dev/cloud/2510) standard. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for the ExchangeSafetyNetToken method.
+  &quot;safetyNetToken&quot;: &quot;A String&quot;, # The [SafetyNet attestation response](https://developer.android.com/training/safetynet/attestation#request-attestation-step) issued to your app.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Encapsulates an *App Check token*, which are used to access Firebase services protected by App Check.
+  &quot;attestationToken&quot;: &quot;A String&quot;, # An App Check token. App Check tokens are signed [JWTs](https://tools.ietf.org/html/rfc7519) containing claims that identify the attested app and Firebase project. This token is used to access Firebase services protected by App Check.
+  &quot;ttl&quot;: &quot;A String&quot;, # The duration from the time this token is minted until its expiration. This field is intended to ease client-side token management, since the client may have clock skew, but is still able to accurately measure a duration.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/firebaseappcheck_v1beta.projects.apps.recaptchaConfig.html b/docs/dyn/firebaseappcheck_v1beta.projects.apps.recaptchaConfig.html
new file mode 100644
index 0000000..3b52ad5
--- /dev/null
+++ b/docs/dyn/firebaseappcheck_v1beta.projects.apps.recaptchaConfig.html
@@ -0,0 +1,173 @@
+<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="firebaseappcheck_v1beta.html">Firebase App Check API</a> . <a href="firebaseappcheck_v1beta.projects.html">projects</a> . <a href="firebaseappcheck_v1beta.projects.apps.html">apps</a> . <a href="firebaseappcheck_v1beta.projects.apps.recaptchaConfig.html">recaptchaConfig</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#batchGet">batchGet(parent, names=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Gets the RecaptchaConfigs for the specified list of apps atomically. For security reasons, the `site_secret` field is never populated in the response.</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 the RecaptchaConfig for the specified app. For security reasons, the `site_secret` field is never populated in the response.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the RecaptchaConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA tokens for App Check tokens. For security reasons, the `site_secret` field is never populated in the response.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="batchGet">batchGet(parent, names=None, x__xgafv=None)</code>
+  <pre>Gets the RecaptchaConfigs for the specified list of apps atomically. For security reasons, the `site_secret` field is never populated in the response.
+
+Args:
+  parent: string, Required. The parent project name shared by all RecaptchaConfigs being retrieved, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being retrieved must match this field, or the entire batch fails. (required)
+  names: string, Required. The relative resource names of the RecaptchaConfigs to retrieve, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ``` A maximum of 100 objects can be retrieved in a batch. (repeated)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for the BatchGetRecaptchaConfigs method.
+  &quot;configs&quot;: [ # RecaptchaConfigs retrieved.
+    { # An app&#x27;s reCAPTCHA v3 configuration object. This configuration is used by ExchangeRecaptchaToken to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3.
+      &quot;name&quot;: &quot;A String&quot;, # Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ```
+      &quot;siteSecret&quot;: &quot;A String&quot;, # Required. Input only. The site secret used to identify your service for reCAPTCHA v3 verification. For security reasons, this field will never be populated in any response.
+      &quot;siteSecretSet&quot;: True or False, # Output only. Whether the `site_secret` field was previously set. Since we will never return the `site_secret` field, this field is the only way to find out whether it was previously set.
+    },
+  ],
+}</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="get">get(name, x__xgafv=None)</code>
+  <pre>Gets the RecaptchaConfig for the specified app. For security reasons, the `site_secret` field is never populated in the response.
+
+Args:
+  name: string, Required. The relative resource name of the RecaptchaConfig, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ``` (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An app&#x27;s reCAPTCHA v3 configuration object. This configuration is used by ExchangeRecaptchaToken to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3.
+  &quot;name&quot;: &quot;A String&quot;, # Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ```
+  &quot;siteSecret&quot;: &quot;A String&quot;, # Required. Input only. The site secret used to identify your service for reCAPTCHA v3 verification. For security reasons, this field will never be populated in any response.
+  &quot;siteSecretSet&quot;: True or False, # Output only. Whether the `site_secret` field was previously set. Since we will never return the `site_secret` field, this field is the only way to find out whether it was previously set.
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates the RecaptchaConfig for the specified app. While this configuration is incomplete or invalid, the app will be unable to exchange reCAPTCHA tokens for App Check tokens. For security reasons, the `site_secret` field is never populated in the response.
+
+Args:
+  name: string, Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ``` (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # An app&#x27;s reCAPTCHA v3 configuration object. This configuration is used by ExchangeRecaptchaToken to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3.
+  &quot;name&quot;: &quot;A String&quot;, # Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ```
+  &quot;siteSecret&quot;: &quot;A String&quot;, # Required. Input only. The site secret used to identify your service for reCAPTCHA v3 verification. For security reasons, this field will never be populated in any response.
+  &quot;siteSecretSet&quot;: True or False, # Output only. Whether the `site_secret` field was previously set. Since we will never return the `site_secret` field, this field is the only way to find out whether it was previously set.
+}
+
+  updateMask: string, Required. A comma-separated list of names of fields in the RecaptchaConfig to update. Example: `site_secret`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # An app&#x27;s reCAPTCHA v3 configuration object. This configuration is used by ExchangeRecaptchaToken to validate reCAPTCHA tokens issued to apps by reCAPTCHA v3.
+  &quot;name&quot;: &quot;A String&quot;, # Required. The relative resource name of the reCAPTCHA v3 configuration object, in the format: ``` projects/{project_number}/apps/{app_id}/recaptchaConfig ```
+  &quot;siteSecret&quot;: &quot;A String&quot;, # Required. Input only. The site secret used to identify your service for reCAPTCHA v3 verification. For security reasons, this field will never be populated in any response.
+  &quot;siteSecretSet&quot;: True or False, # Output only. Whether the `site_secret` field was previously set. Since we will never return the `site_secret` field, this field is the only way to find out whether it was previously set.
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/firebaseappcheck_v1beta.projects.html b/docs/dyn/firebaseappcheck_v1beta.projects.html
new file mode 100644
index 0000000..bca36f3
--- /dev/null
+++ b/docs/dyn/firebaseappcheck_v1beta.projects.html
@@ -0,0 +1,96 @@
+<html><body>
+<style>
+
+body, h1, h2, h3, div, span, p, pre, a {
+  margin: 0;
+  padding: 0;
+  border: 0;
+  font-weight: inherit;
+  font-style: inherit;
+  font-size: 100%;
+  font-family: inherit;
+  vertical-align: baseline;
+}
+
+body {
+  font-size: 13px;
+  padding: 1em;
+}
+
+h1 {
+  font-size: 26px;
+  margin-bottom: 1em;
+}
+
+h2 {
+  font-size: 24px;
+  margin-bottom: 1em;
+}
+
+h3 {
+  font-size: 20px;
+  margin-bottom: 1em;
+  margin-top: 1em;
+}
+
+pre, code {
+  line-height: 1.5;
+  font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
+}
+
+pre {
+  margin-top: 0.5em;
+}
+
+h1, h2, h3, p {
+  font-family: Arial, sans serif;
+}
+
+h1, h2, h3 {
+  border-bottom: solid #CCC 1px;
+}
+
+.toc_element {
+  margin-top: 0.5em;
+}
+
+.firstline {
+  margin-left: 2 em;
+}
+
+.method  {
+  margin-top: 1em;
+  border: solid 1px #CCC;
+  padding: 1em;
+  background: #EEE;
+}
+
+.details {
+  font-weight: bold;
+  font-size: 14px;
+}
+
+</style>
+
+<h1><a href="firebaseappcheck_v1beta.html">Firebase App Check API</a> . <a href="firebaseappcheck_v1beta.projects.html">projects</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="firebaseappcheck_v1beta.projects.apps.html">apps()</a></code>
+</p>
+<p class="firstline">Returns the apps Resource.</p>
+
+<p class="toc_element">
+  <code><a href="firebaseappcheck_v1beta.projects.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>
+<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/firebaseappcheck_v1beta.projects.services.html b/docs/dyn/firebaseappcheck_v1beta.projects.services.html
new file mode 100644
index 0000000..dfd4578
--- /dev/null
+++ b/docs/dyn/firebaseappcheck_v1beta.projects.services.html
@@ -0,0 +1,231 @@
+<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="firebaseappcheck_v1beta.html">Firebase App Check API</a> . <a href="firebaseappcheck_v1beta.projects.html">projects</a> . <a href="firebaseappcheck_v1beta.projects.services.html">services</a></h1>
+<h2>Instance Methods</h2>
+<p class="toc_element">
+  <code><a href="#batchUpdate">batchUpdate(parent, body=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the specified Service configurations atomically.</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 the Service configuration for the specified service name.</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 all Service configurations for the specified project. Only Services which were explicitly configured using UpdateService or BatchUpdateServices will be returned.</p>
+<p class="toc_element">
+  <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
+<p class="firstline">Retrieves the next page of results.</p>
+<p class="toc_element">
+  <code><a href="#patch">patch(name, body=None, updateMask=None, x__xgafv=None)</a></code></p>
+<p class="firstline">Updates the specified Service configuration.</p>
+<h3>Method Details</h3>
+<div class="method">
+    <code class="details" id="batchUpdate">batchUpdate(parent, body=None, x__xgafv=None)</code>
+  <pre>Updates the specified Service configurations atomically.
+
+Args:
+  parent: string, Required. The parent project name shared by all Service configurations being updated, in the format ``` projects/{project_number} ``` The parent collection in the `name` field of any resource being updated must match this field, or the entire batch fails. (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # Request message for the BatchUpdateServices method.
+  &quot;requests&quot;: [ # Required. The request messages specifying the Services to update. A maximum of 100 objects can be updated in a batch.
+    { # Request message for the UpdateService method as well as an individual update message for the BatchUpdateServices method.
+      &quot;service&quot;: { # The enforcement configuration for a Firebase service supported by App Check. # Required. The Service to update. The Service&#x27;s `name` field is used to identify the Service to be updated, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database)
+        &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The App Check enforcement mode for this service.
+        &quot;name&quot;: &quot;A String&quot;, # Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database)
+      },
+      &quot;updateMask&quot;: &quot;A String&quot;, # Required. A comma-separated list of names of fields in the Service to update. Example: `enforcement_mode`.
+    },
+  ],
+  &quot;updateMask&quot;: &quot;A String&quot;, # Optional. A comma-separated list of names of fields in the Services to update. Example: `display_name`. If this field is present, the `update_mask` field in the UpdateServiceRequest messages must all match this field, or the entire batch fails and no updates will be committed.
+}
+
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for the BatchUpdateServices method.
+  &quot;services&quot;: [ # Service objects after the updates have been applied.
+    { # The enforcement configuration for a Firebase service supported by App Check.
+      &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The App Check enforcement mode for this service.
+      &quot;name&quot;: &quot;A String&quot;, # Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database)
+    },
+  ],
+}</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="get">get(name, x__xgafv=None)</code>
+  <pre>Gets the Service configuration for the specified service name.
+
+Args:
+  name: string, Required. The relative resource name of the Service to retrieve, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) (required)
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The enforcement configuration for a Firebase service supported by App Check.
+  &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The App Check enforcement mode for this service.
+  &quot;name&quot;: &quot;A String&quot;, # Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database)
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list">list(parent, pageSize=None, pageToken=None, x__xgafv=None)</code>
+  <pre>Lists all Service configurations for the specified project. Only Services which were explicitly configured using UpdateService or BatchUpdateServices will be returned.
+
+Args:
+  parent: string, Required. The relative resource name of the parent project for which to list each associated Service, in the format: ``` projects/{project_number} ``` (required)
+  pageSize: integer, The maximum number of Services to return in the response. Only explicitly configured services are returned. The server may return fewer than this at its own discretion. If no value is specified (or too large a value is specified), the server will impose its own limit.
+  pageToken: string, Token returned from a previous call to ListServices indicating where in the set of Services to resume listing. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to ListServices must match the call that provided the page token; if they do not match, the result is undefined.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # Response message for the ListServices method.
+  &quot;nextPageToken&quot;: &quot;A String&quot;, # If the result list is too large to fit in a single response, then a token is returned. If the string is empty or omitted, then this response is the last page of results. This token can be used in a subsequent call to ListServices to find the next group of Services. Page tokens are short-lived and should not be persisted.
+  &quot;services&quot;: [ # The Services retrieved.
+    { # The enforcement configuration for a Firebase service supported by App Check.
+      &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The App Check enforcement mode for this service.
+      &quot;name&quot;: &quot;A String&quot;, # Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database)
+    },
+  ],
+}</pre>
+</div>
+
+<div class="method">
+    <code class="details" id="list_next">list_next(previous_request, previous_response)</code>
+  <pre>Retrieves the next page of results.
+
+Args:
+  previous_request: The request for the previous page. (required)
+  previous_response: The response from the request for the previous page. (required)
+
+Returns:
+  A request object that you can call &#x27;execute()&#x27; on to request the next
+  page. Returns None if there are no more items in the collection.
+    </pre>
+</div>
+
+<div class="method">
+    <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
+  <pre>Updates the specified Service configuration.
+
+Args:
+  name: string, Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database) (required)
+  body: object, The request body.
+    The object takes the form of:
+
+{ # The enforcement configuration for a Firebase service supported by App Check.
+  &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The App Check enforcement mode for this service.
+  &quot;name&quot;: &quot;A String&quot;, # Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database)
+}
+
+  updateMask: string, Required. A comma-separated list of names of fields in the Service to update. Example: `enforcement_mode`.
+  x__xgafv: string, V1 error format.
+    Allowed values
+      1 - v1 error format
+      2 - v2 error format
+
+Returns:
+  An object of the form:
+
+    { # The enforcement configuration for a Firebase service supported by App Check.
+  &quot;enforcementMode&quot;: &quot;A String&quot;, # Required. The App Check enforcement mode for this service.
+  &quot;name&quot;: &quot;A String&quot;, # Required. The relative resource name of the service configuration object, in the format: ``` projects/{project_number}/services/{service_id} ``` Note that the `service_id` element must be a supported service ID. Currently, the following service IDs are supported: * `firebasestorage.googleapis.com` (Cloud Storage for Firebase) * `firebasedatabase.googleapis.com` (Firebase Realtime Database)
+}</pre>
+</div>
+
+</body></html>
\ No newline at end of file
diff --git a/docs/dyn/firestore_v1.projects.databases.documents.html b/docs/dyn/firestore_v1.projects.databases.documents.html
index 02464f5..5887319 100644
--- a/docs/dyn/firestore_v1.projects.databases.documents.html
+++ b/docs/dyn/firestore_v1.projects.databases.documents.html
@@ -175,11 +175,7 @@
     &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
     &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
       &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-        &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-          &quot;values&quot;: [ # Values in the array.
-            # Object with schema name: Value
-          ],
-        },
+        &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
         &quot;booleanValue&quot;: True or False, # A boolean value.
         &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
         &quot;doubleValue&quot;: 3.14, # A double value.
@@ -234,16 +230,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -263,11 +274,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -287,11 +294,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -312,7 +315,26 @@
             },
             &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -323,11 +345,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
         &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -359,16 +377,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -388,11 +421,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -412,11 +441,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -437,7 +462,26 @@
           },
           &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -471,11 +515,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -563,16 +603,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -592,11 +647,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -616,11 +667,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -641,7 +688,26 @@
             },
             &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -652,11 +718,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
         &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -688,16 +750,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -717,11 +794,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -741,11 +814,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -766,7 +835,26 @@
           },
           &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -790,11 +878,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -834,11 +918,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -876,11 +956,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -946,11 +1022,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1003,11 +1075,7 @@
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
       &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
         &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1117,11 +1185,7 @@
           &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
           &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
             { # A message that can hold any of the supported value types.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1169,11 +1233,7 @@
           &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
           &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
             { # A message that can hold any of the supported value types.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1207,11 +1267,7 @@
             },
             &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
             &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1264,11 +1320,7 @@
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
       &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
         &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1354,11 +1406,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1406,11 +1454,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1444,11 +1488,7 @@
         },
         &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
         &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1493,11 +1533,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1549,11 +1585,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1593,11 +1625,7 @@
   &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
   &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
     &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-      &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-        &quot;values&quot;: [ # Values in the array.
-          # Object with schema name: Value
-        ],
-      },
+      &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
       &quot;booleanValue&quot;: True or False, # A boolean value.
       &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
       &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1671,11 +1699,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1723,11 +1747,7 @@
       &quot;before&quot;: True or False, # If the position is just before or just after the given values, relative to the sort order defined by the query.
       &quot;values&quot;: [ # The values that represent a position, in the order they appear in the order by clause of a query. Can contain fewer values than specified in the order by clause.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1761,11 +1781,7 @@
         },
         &quot;op&quot;: &quot;A String&quot;, # The operator to filter by.
         &quot;value&quot;: { # A message that can hold any of the supported value types. # The value to compare to.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1809,11 +1825,7 @@
     &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
     &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
       &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-        &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-          &quot;values&quot;: [ # Values in the array.
-            # Object with schema name: Value
-          ],
-        },
+        &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
         &quot;booleanValue&quot;: True or False, # A boolean value.
         &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
         &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1870,16 +1882,31 @@
           { # A transformation of a field of the document.
             &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
             &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1899,11 +1926,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1923,11 +1946,7 @@
               &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
             },
             &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-              &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-                &quot;values&quot;: [ # Values in the array.
-                  # Object with schema name: Value
-                ],
-              },
+              &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
               &quot;booleanValue&quot;: True or False, # A boolean value.
               &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
               &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1948,7 +1967,26 @@
             },
             &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
               &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
+                { # A message that can hold any of the supported value types.
+                  &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                  &quot;booleanValue&quot;: True or False, # A boolean value.
+                  &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                  &quot;doubleValue&quot;: 3.14, # A double value.
+                  &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                    &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                    &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                  },
+                  &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                  &quot;mapValue&quot;: { # A map value. # A map value.
+                    &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                      &quot;a_key&quot;: # Object with schema name: Value
+                    },
+                  },
+                  &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                  &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                  &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                  &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+                },
               ],
             },
             &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -1959,11 +1997,7 @@
         &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time at which the document was created. This value increases monotonically when a document is deleted then recreated. It can also be compared to values from other documents and the `read_time` of a query.
         &quot;fields&quot;: { # The document&#x27;s fields. The map keys represent field names. A simple field name contains only characters `a` to `z`, `A` to `Z`, `0` to `9`, or `_`, and must not start with `0` to `9`. For example, `foo_bar_17`. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty. Field paths may be used in other contexts to refer to structured fields defined here. For `map_value`, the field path is represented by the simple or quoted field names of the containing fields, delimited by `.`. For example, the structured field `&quot;foo&quot; : { map_value: { &quot;x&amp;y&quot; : { string_value: &quot;hello&quot; }}}` would be represented by the field path `foo.x&amp;y`. Within a field path, a quoted field name starts and ends with `` ` `` and may contain any character. Some characters, including `` ` ``, must be escaped using a `\`. For example, `` `x&amp;y` `` represents `x&amp;y` and `` `bak\`tik` `` represents `` bak`tik ``.
           &quot;a_key&quot;: { # A message that can hold any of the supported value types.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -1995,16 +2029,31 @@
         { # A transformation of a field of the document.
           &quot;appendMissingElements&quot;: { # An array value. # Append the given elements in order if they are not already present in the current field value. If the field is not an array, or if the field does not yet exist, it is first set to the empty array. Equivalent numbers of different types (e.g. 3L and 3.0) are considered equal when checking if a value is missing. NaN is equal to NaN, and Null is equal to Null. If the input contains multiple equivalent values, only the first will be considered. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;fieldPath&quot;: &quot;A String&quot;, # The path of the field. See Document.fields for the field path syntax reference.
           &quot;increment&quot;: { # A message that can hold any of the supported value types. # Adds the given value to the field&#x27;s current value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If either of the given value or the current field value are doubles, both values will be interpreted as doubles. Double arithmetic and representation of double values follow IEEE 754 semantics. If there is positive/negative integer overflow, the field is resolved to the largest magnitude positive/negative integer.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2024,11 +2073,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;maximum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the maximum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the given value. If a maximum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the larger operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The maximum of a zero stored value and zero input value is always the stored value. The maximum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2048,11 +2093,7 @@
             &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
           },
           &quot;minimum&quot;: { # A message that can hold any of the supported value types. # Sets the field to the minimum of its current value and the given value. This must be an integer or a double value. If the field is not an integer or double, or if the field does not yet exist, the transformation will set the field to the input value. If a minimum operation is applied where the field and the input value are of mixed types (that is - one is an integer and one is a double) the field takes on the type of the smaller operand. If the operands are equivalent (e.g. 3 and 3.0), the field does not change. 0, 0.0, and -0.0 are all zero. The minimum of a zero stored value and zero input value is always the stored value. The minimum of any numeric value x and NaN is NaN.
-            &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-              &quot;values&quot;: [ # Values in the array.
-                # Object with schema name: Value
-              ],
-            },
+            &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
             &quot;booleanValue&quot;: True or False, # A boolean value.
             &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
             &quot;doubleValue&quot;: 3.14, # A double value.
@@ -2073,7 +2114,26 @@
           },
           &quot;removeAllFromArray&quot;: { # An array value. # Remove all of the given elements from the array in the field. If the field is not an array, or if the field does not yet exist, it is set to the empty array. Equivalent numbers of the different types (e.g. 3L and 3.0) are considered equal when deciding whether an element should be removed. NaN is equal to NaN, and Null is equal to Null. This will remove all equivalent values if there are duplicates. The corresponding transform_result will be the null value.
             &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
+              { # A message that can hold any of the supported value types.
+                &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
+                &quot;booleanValue&quot;: True or False, # A boolean value.
+                &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
+                &quot;doubleValue&quot;: 3.14, # A double value.
+                &quot;geoPointValue&quot;: { # An object that represents a latitude/longitude pair. This is expressed as a pair of doubles to represent degrees latitude and degrees longitude. Unless specified otherwise, this object must conform to the WGS84 standard. Values must be within normalized ranges. # A geo point value representing a point on the surface of Earth.
+                  &quot;latitude&quot;: 3.14, # The latitude in degrees. It must be in the range [-90.0, +90.0].
+                  &quot;longitude&quot;: 3.14, # The longitude in degrees. It must be in the range [-180.0, +180.0].
+                },
+                &quot;integerValue&quot;: &quot;A String&quot;, # An integer value.
+                &quot;mapValue&quot;: { # A map value. # A map value.
+                  &quot;fields&quot;: { # The map&#x27;s fields. The map keys represent field names. Field names matching the regular expression `__.*__` are reserved. Reserved field names are forbidden except in certain documented contexts. The map keys, represented as UTF-8, must not exceed 1,500 bytes and cannot be empty.
+                    &quot;a_key&quot;: # Object with schema name: Value
+                  },
+                },
+                &quot;nullValue&quot;: &quot;A String&quot;, # A null value.
+                &quot;referenceValue&quot;: &quot;A String&quot;, # A reference to a document. For example: `projects/{project_id}/databases/{database_id}/documents/{document_path}`.
+                &quot;stringValue&quot;: &quot;A String&quot;, # A string value. The string, represented as UTF-8, must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes of the UTF-8 representation are considered by queries.
+                &quot;timestampValue&quot;: &quot;A String&quot;, # A timestamp value. Precise only to microseconds. When stored, any additional precision is rounded down.
+              },
             ],
           },
           &quot;setToServerValue&quot;: &quot;A String&quot;, # Sets the field to the given server value.
@@ -2099,11 +2159,7 @@
     { # The result of applying a write.
       &quot;transformResults&quot;: [ # The results of applying each DocumentTransform.FieldTransform, in the same order.
         { # A message that can hold any of the supported value types.
-          &quot;arrayValue&quot;: { # An array value. # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
-            &quot;values&quot;: [ # Values in the array.
-              # Object with schema name: Value
-            ],
-          },
+          &quot;arrayValue&quot;: # Object with schema name: ArrayValue # An array value. Cannot directly contain another array value, though can contain an map which contains another array.
           &quot;booleanValue&quot;: True or False, # A boolean value.
           &quot;bytesValue&quot;: &quot;A String&quot;, # A bytes value. Must not exceed 1 MiB - 89 bytes. Only the first 1,500 bytes are considered by queries.
           &quot;doubleValue&quot;: 3.14, # A double value.
diff --git a/docs/dyn/gkehub_v1alpha.projects.locations.features.html b/docs/dyn/gkehub_v1alpha.projects.locations.features.html
index 37287e9..625898e 100644
--- a/docs/dyn/gkehub_v1alpha.projects.locations.features.html
+++ b/docs/dyn/gkehub_v1alpha.projects.locations.features.html
@@ -156,7 +156,6 @@
             &quot;A String&quot;,
           ],
           &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
-          &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
           &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
           &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
         },
@@ -257,7 +256,6 @@
               &quot;A String&quot;,
             ],
             &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
-            &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
             &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
             &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
           },
@@ -276,7 +274,6 @@
           &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
             &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
             &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
-            &quot;gatekeeperMutation&quot;: &quot;A String&quot;, # Status of the pod serving the mutation webhook.
           },
           &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
             &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
@@ -480,7 +477,6 @@
             &quot;A String&quot;,
           ],
           &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
-          &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
           &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
           &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
         },
@@ -581,7 +577,6 @@
               &quot;A String&quot;,
             ],
             &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
-            &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
             &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
             &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
           },
@@ -600,7 +595,6 @@
           &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
             &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
             &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
-            &quot;gatekeeperMutation&quot;: &quot;A String&quot;, # Status of the pod serving the mutation webhook.
           },
           &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
             &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
@@ -792,7 +786,6 @@
                 &quot;A String&quot;,
               ],
               &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
-              &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
               &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
               &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
             },
@@ -893,7 +886,6 @@
                   &quot;A String&quot;,
                 ],
                 &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
-                &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
                 &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
                 &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
               },
@@ -912,7 +904,6 @@
               &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
                 &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
                 &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
-                &quot;gatekeeperMutation&quot;: &quot;A String&quot;, # Status of the pod serving the mutation webhook.
               },
               &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
                 &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
@@ -1060,7 +1051,6 @@
             &quot;A String&quot;,
           ],
           &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
-          &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
           &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
           &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
         },
@@ -1161,7 +1151,6 @@
               &quot;A String&quot;,
             ],
             &quot;logDeniesEnabled&quot;: True or False, # Logs all denies and dry run failures.
-            &quot;mutationEnabled&quot;: True or False, # Enable users to try out mutation for PolicyController.
             &quot;referentialRulesEnabled&quot;: True or False, # Enables the ability to use Constraint Templates that reference to objects other than the object currently being evaluated.
             &quot;templateLibraryInstalled&quot;: True or False, # Installs the default template library along with Policy Controller.
           },
@@ -1180,7 +1169,6 @@
           &quot;deploymentState&quot;: { # State of Policy Controller installation. # The state about the policy controller installation.
             &quot;gatekeeperAudit&quot;: &quot;A String&quot;, # Status of gatekeeper-audit deployment.
             &quot;gatekeeperControllerManagerState&quot;: &quot;A String&quot;, # Status of gatekeeper-controller-manager pod.
-            &quot;gatekeeperMutation&quot;: &quot;A String&quot;, # Status of the pod serving the mutation webhook.
           },
           &quot;version&quot;: { # The build version of Gatekeeper Policy Controller is using. # The version of Gatekeeper Policy Controller deployed.
             &quot;version&quot;: &quot;A String&quot;, # The gatekeeper image tag that is composed of ACM version, git tag, build number.
diff --git a/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html b/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html
index 1b58104..9dfe9f1 100644
--- a/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html
+++ b/docs/dyn/ondemandscanning_v1.projects.locations.scans.vulnerabilities.html
@@ -244,6 +244,16 @@
         },
         &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the build signature in the corresponding build note. After verifying the signature, `provenance_bytes` can be unmarshalled and compared to the provenance to confirm that it is unchanged. A base64-encoded string representation of the provenance bytes is used for the signature in order to interoperate with openssl which expects this format for signature verification. The serialized form is captured both to avoid ambiguity in how the provenance is marshalled to json as well to prevent incompatibilities with future changes.
       },
+      &quot;compliance&quot;: { # An indication that the compliance checks in the associated ComplianceNote were not satisfied for particular resources or a specified reason. # Describes a compliance violation on a linked resource.
+        &quot;nonComplianceReason&quot;: &quot;A String&quot;,
+        &quot;nonCompliantFiles&quot;: [
+          { # Details about files that caused a compliance check to fail.
+            &quot;displayCommand&quot;: &quot;A String&quot;, # Command to display the non-compliant files.
+            &quot;path&quot;: &quot;A String&quot;, # display_command is a single command that can be used to display a list of non compliant files. When there is no such command, we can also iterate a list of non compliant file using &#x27;path&#x27;. Empty if `display_command` is set.
+            &quot;reason&quot;: &quot;A String&quot;, # Explains why a file is non compliant for a CIS check.
+          },
+        ],
+      },
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was created.
       &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Describes the deployment of an artifact on a runtime.
         &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
diff --git a/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html b/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html
index 8f1100d..e143048 100644
--- a/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html
+++ b/docs/dyn/ondemandscanning_v1beta1.projects.locations.scans.vulnerabilities.html
@@ -244,6 +244,16 @@
         },
         &quot;provenanceBytes&quot;: &quot;A String&quot;, # Serialized JSON representation of the provenance, used in generating the build signature in the corresponding build note. After verifying the signature, `provenance_bytes` can be unmarshalled and compared to the provenance to confirm that it is unchanged. A base64-encoded string representation of the provenance bytes is used for the signature in order to interoperate with openssl which expects this format for signature verification. The serialized form is captured both to avoid ambiguity in how the provenance is marshalled to json as well to prevent incompatibilities with future changes.
       },
+      &quot;compliance&quot;: { # An indication that the compliance checks in the associated ComplianceNote were not satisfied for particular resources or a specified reason. # Describes a compliance violation on a linked resource.
+        &quot;nonComplianceReason&quot;: &quot;A String&quot;,
+        &quot;nonCompliantFiles&quot;: [
+          { # Details about files that caused a compliance check to fail.
+            &quot;displayCommand&quot;: &quot;A String&quot;, # Command to display the non-compliant files.
+            &quot;path&quot;: &quot;A String&quot;, # display_command is a single command that can be used to display a list of non compliant files. When there is no such command, we can also iterate a list of non compliant file using &#x27;path&#x27;. Empty if `display_command` is set.
+            &quot;reason&quot;: &quot;A String&quot;, # Explains why a file is non compliant for a CIS check.
+          },
+        ],
+      },
       &quot;createTime&quot;: &quot;A String&quot;, # Output only. The time this occurrence was created.
       &quot;deployment&quot;: { # The period during which some deployable was active in a runtime. # Describes the deployment of an artifact on a runtime.
         &quot;address&quot;: &quot;A String&quot;, # Address of the runtime element hosting this deployment.
diff --git a/docs/dyn/osconfig_v1alpha.projects.locations.instanceOSPoliciesCompliances.html b/docs/dyn/osconfig_v1alpha.projects.locations.instanceOSPoliciesCompliances.html
index d53feb9..879c01a 100644
--- a/docs/dyn/osconfig_v1alpha.projects.locations.instanceOSPoliciesCompliances.html
+++ b/docs/dyn/osconfig_v1alpha.projects.locations.instanceOSPoliciesCompliances.html
@@ -106,7 +106,7 @@
 Returns:
   An object of the form:
 
-    { # This API resource represents the OS policies compliance data for a Compute Engine virtual machine (VM) instance at a given point in time. A Compute Engine VM can have multiple OS policy assignments, and each assignment can have multiple OS policies. As a result, multiple OS policies could be applied to a single VM. You can use this API resource to determine both the compliance state of your VM as well as the compliance state of an individual OS policy. For more information, see [View compliance](/compute/docs/os-configuration-management/view-compliance).
+    { # This API resource represents the OS policies compliance data for a Compute Engine virtual machine (VM) instance at a given point in time. A Compute Engine VM can have multiple OS policy assignments, and each assignment can have multiple OS policies. As a result, multiple OS policies could be applied to a single VM. You can use this API resource to determine both the compliance state of your VM as well as the compliance state of an individual OS policy. For more information, see [View compliance](https://cloud.google.com/compute/docs/os-configuration-management/view-compliance).
   &quot;detailedState&quot;: &quot;A String&quot;, # Output only. Detailed compliance state of the VM. This field is populated only when compliance state is `UNKNOWN`. It may contain one of the following values: * `no-compliance-data`: Compliance data is not available for this VM. * `no-agent-detected`: OS Config agent is not detected for this VM. * `config-not-supported-by-agent`: The version of the OS Config agent running on this VM does not support configuration management. * `inactive`: VM is not running. * `internal-service-errors`: There were internal service errors encountered while enforcing compliance. * `agent-errors`: OS config agent encountered errors while enforcing compliance.
   &quot;detailedStateReason&quot;: &quot;A String&quot;, # Output only. The reason for the `detailed_state` of the VM (if any).
   &quot;instance&quot;: &quot;A String&quot;, # Output only. The Compute Engine VM instance name.
@@ -125,6 +125,9 @@
               &quot;type&quot;: &quot;A String&quot;, # Configuration step type.
             },
           ],
+          &quot;execResourceOutput&quot;: { # ExecResource specific output. # ExecResource specific output.
+            &quot;enforcementOutput&quot;: &quot;A String&quot;, # Output from Enforcement phase output file (if run). Output size is limited to 100K bytes.
+          },
           &quot;osPolicyResourceId&quot;: &quot;A String&quot;, # The id of the OS policy resource.
           &quot;state&quot;: &quot;A String&quot;, # Compliance state of the OS policy resource.
         },
@@ -155,7 +158,7 @@
 
     { # A response message for listing OS policies compliance data for all Compute Engine VMs in the given location.
   &quot;instanceOsPoliciesCompliances&quot;: [ # List of instance OS policies compliance objects.
-    { # This API resource represents the OS policies compliance data for a Compute Engine virtual machine (VM) instance at a given point in time. A Compute Engine VM can have multiple OS policy assignments, and each assignment can have multiple OS policies. As a result, multiple OS policies could be applied to a single VM. You can use this API resource to determine both the compliance state of your VM as well as the compliance state of an individual OS policy. For more information, see [View compliance](/compute/docs/os-configuration-management/view-compliance).
+    { # This API resource represents the OS policies compliance data for a Compute Engine virtual machine (VM) instance at a given point in time. A Compute Engine VM can have multiple OS policy assignments, and each assignment can have multiple OS policies. As a result, multiple OS policies could be applied to a single VM. You can use this API resource to determine both the compliance state of your VM as well as the compliance state of an individual OS policy. For more information, see [View compliance](https://cloud.google.com/compute/docs/os-configuration-management/view-compliance).
       &quot;detailedState&quot;: &quot;A String&quot;, # Output only. Detailed compliance state of the VM. This field is populated only when compliance state is `UNKNOWN`. It may contain one of the following values: * `no-compliance-data`: Compliance data is not available for this VM. * `no-agent-detected`: OS Config agent is not detected for this VM. * `config-not-supported-by-agent`: The version of the OS Config agent running on this VM does not support configuration management. * `inactive`: VM is not running. * `internal-service-errors`: There were internal service errors encountered while enforcing compliance. * `agent-errors`: OS config agent encountered errors while enforcing compliance.
       &quot;detailedStateReason&quot;: &quot;A String&quot;, # Output only. The reason for the `detailed_state` of the VM (if any).
       &quot;instance&quot;: &quot;A String&quot;, # Output only. The Compute Engine VM instance name.
@@ -174,6 +177,9 @@
                   &quot;type&quot;: &quot;A String&quot;, # Configuration step type.
                 },
               ],
+              &quot;execResourceOutput&quot;: { # ExecResource specific output. # ExecResource specific output.
+                &quot;enforcementOutput&quot;: &quot;A String&quot;, # Output from Enforcement phase output file (if run). Output size is limited to 100K bytes.
+              },
               &quot;osPolicyResourceId&quot;: &quot;A String&quot;, # The id of the OS policy resource.
               &quot;state&quot;: &quot;A String&quot;, # Compliance state of the OS policy resource.
             },
diff --git a/docs/dyn/osconfig_v1alpha.projects.locations.instances.inventories.html b/docs/dyn/osconfig_v1alpha.projects.locations.instances.inventories.html
index 8a359f2..19398df 100644
--- a/docs/dyn/osconfig_v1alpha.projects.locations.instances.inventories.html
+++ b/docs/dyn/osconfig_v1alpha.projects.locations.instances.inventories.html
@@ -111,7 +111,7 @@
 Returns:
   An object of the form:
 
-    { # This API resource represents the available inventory data for a Compute Engine virtual machine (VM) instance at a given point in time. You can use this API resource to determine the inventory data of your VM. For more information, see [Information provided by OS inventory management](/compute/docs/instances/os-inventory-management#data-collected).
+    { # This API resource represents the available inventory data for a Compute Engine virtual machine (VM) instance at a given point in time. You can use this API resource to determine the inventory data of your VM. For more information, see [Information provided by OS inventory management](https://cloud.google.com/compute/docs/instances/os-inventory-management#data-collected).
   &quot;items&quot;: { # Output only. Inventory items related to the VM keyed by an opaque unique identifier for each inventory item. The identifier is unique to each distinct and addressable inventory item and will change, when there is a new package version.
     &quot;a_key&quot;: { # A single piece of inventory on a VM.
       &quot;availablePackage&quot;: { # Software package information of the operating system. # Software package available to be installed on the VM instance.
@@ -278,7 +278,7 @@
 
     { # A response message for listing inventory data for all VMs in a specified location.
   &quot;inventories&quot;: [ # List of inventory objects.
-    { # This API resource represents the available inventory data for a Compute Engine virtual machine (VM) instance at a given point in time. You can use this API resource to determine the inventory data of your VM. For more information, see [Information provided by OS inventory management](/compute/docs/instances/os-inventory-management#data-collected).
+    { # This API resource represents the available inventory data for a Compute Engine virtual machine (VM) instance at a given point in time. You can use this API resource to determine the inventory data of your VM. For more information, see [Information provided by OS inventory management](https://cloud.google.com/compute/docs/instances/os-inventory-management#data-collected).
       &quot;items&quot;: { # Output only. Inventory items related to the VM keyed by an opaque unique identifier for each inventory item. The identifier is unique to each distinct and addressable inventory item and will change, when there is a new package version.
         &quot;a_key&quot;: { # A single piece of inventory on a VM.
           &quot;availablePackage&quot;: { # Software package information of the operating system. # Software package available to be installed on the VM instance.
diff --git a/docs/dyn/osconfig_v1alpha.projects.locations.instances.vulnerabilityReports.html b/docs/dyn/osconfig_v1alpha.projects.locations.instances.vulnerabilityReports.html
index e2a3866..2547a77 100644
--- a/docs/dyn/osconfig_v1alpha.projects.locations.instances.vulnerabilityReports.html
+++ b/docs/dyn/osconfig_v1alpha.projects.locations.instances.vulnerabilityReports.html
@@ -106,7 +106,7 @@
 Returns:
   An object of the form:
 
-    { # This API resource represents the vulnerability report for a specified Compute Engine virtual machine (VM) instance at a given point in time. For more information, see [Vulnerability reports](/compute/docs/instances/os-inventory-management#vulnerability-reports).
+    { # This API resource represents the vulnerability report for a specified Compute Engine virtual machine (VM) instance at a given point in time. For more information, see [Vulnerability reports](https://cloud.google.com/compute/docs/instances/os-inventory-management#vulnerability-reports).
   &quot;name&quot;: &quot;A String&quot;, # Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport`
   &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when the last vulnerability report was generated for the VM.
   &quot;vulnerabilities&quot;: [ # Output only. List of vulnerabilities affecting the VM.
@@ -168,7 +168,7 @@
     { # A response message for listing vulnerability reports for all VM instances in the specified location.
   &quot;nextPageToken&quot;: &quot;A String&quot;, # The pagination token to retrieve the next page of vulnerabilityReports object.
   &quot;vulnerabilityReports&quot;: [ # List of vulnerabilityReport objects.
-    { # This API resource represents the vulnerability report for a specified Compute Engine virtual machine (VM) instance at a given point in time. For more information, see [Vulnerability reports](/compute/docs/instances/os-inventory-management#vulnerability-reports).
+    { # This API resource represents the vulnerability report for a specified Compute Engine virtual machine (VM) instance at a given point in time. For more information, see [Vulnerability reports](https://cloud.google.com/compute/docs/instances/os-inventory-management#vulnerability-reports).
       &quot;name&quot;: &quot;A String&quot;, # Output only. The `vulnerabilityReport` API resource name. Format: `projects/{project_number}/locations/{location}/instances/{instance_id}/vulnerabilityReport`
       &quot;updateTime&quot;: &quot;A String&quot;, # Output only. The timestamp for when the last vulnerability report was generated for the VM.
       &quot;vulnerabilities&quot;: [ # Output only. List of vulnerabilities affecting the VM.
diff --git a/docs/dyn/osconfig_v1alpha.projects.locations.osPolicyAssignments.html b/docs/dyn/osconfig_v1alpha.projects.locations.osPolicyAssignments.html
index 2c24de6..b5091cd 100644
--- a/docs/dyn/osconfig_v1alpha.projects.locations.osPolicyAssignments.html
+++ b/docs/dyn/osconfig_v1alpha.projects.locations.osPolicyAssignments.html
@@ -84,10 +84,10 @@
 <p class="firstline">Close httplib2 connections.</p>
 <p class="toc_element">
   <code><a href="#create">create(parent, body=None, osPolicyAssignmentId=None, x__xgafv=None)</a></code></p>
-<p class="firstline">Create an OS policy assignment. This method also creates the first revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).</p>
+<p class="firstline">Create an OS policy assignment. This method also creates the first revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).</p>
 <p class="toc_element">
   <code><a href="#delete">delete(name, x__xgafv=None)</a></code></p>
-<p class="firstline">Delete the OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. If the LRO completes and is not cancelled, all revisions associated with the OS policy assignment are deleted. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).</p>
+<p class="firstline">Delete the OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. If the LRO completes and is not cancelled, all revisions associated with the OS policy assignment are deleted. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).</p>
 <p class="toc_element">
   <code><a href="#get">get(name, x__xgafv=None)</a></code></p>
 <p class="firstline">Retrieve an existing OS policy assignment. This method always returns the latest revision. In order to retrieve a previous revision of the assignment, also provide the revision ID in the `name` parameter.</p>
@@ -105,7 +105,7 @@
 <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">Update an existing OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).</p>
+<p class="firstline">Update an existing OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).</p>
 <h3>Method Details</h3>
 <div class="method">
     <code class="details" id="close">close()</code>
@@ -114,14 +114,14 @@
 
 <div class="method">
     <code class="details" id="create">create(parent, body=None, osPolicyAssignmentId=None, x__xgafv=None)</code>
-  <pre>Create an OS policy assignment. This method also creates the first revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).
+  <pre>Create an OS policy assignment. This method also creates the first revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).
 
 Args:
   parent: string, Required. The parent resource name in the form: projects/{project}/locations/{location} (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](/compute/docs/os-configuration-management/working-with-os-policies).
+{ # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](https://cloud.google.com/compute/docs/os-configuration-management/working-with-os-policies).
   &quot;baseline&quot;: True or False, # Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.
   &quot;deleted&quot;: True or False, # Output only. Indicates that this revision deletes the OS policy assignment.
   &quot;description&quot;: &quot;A String&quot;, # OS policy assignment description. Length of the description is limited to 1024 characters.
@@ -179,6 +179,7 @@
                     },
                   },
                   &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                  &quot;outputFilePath&quot;: &quot;A String&quot;, # Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.
                   &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
                 },
                 &quot;validate&quot;: { # A file or script to execute. # Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates &quot;in desired state&quot;, and exit code of 101 indicates &quot;not in desired state&quot;. Any other exit code indicates a failure running validate.
@@ -199,6 +200,7 @@
                     },
                   },
                   &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                  &quot;outputFilePath&quot;: &quot;A String&quot;, # Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.
                   &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
                 },
               },
@@ -223,11 +225,11 @@
               },
               &quot;id&quot;: &quot;A String&quot;, # Required. The id of the resource with the following restrictions: * 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 OS policy.
               &quot;pkg&quot;: { # A resource that manages a system package. # Package resource
-                &quot;apt&quot;: { # A package managed by APT. install: `apt-get update &amp;&amp; apt-get -y install [name]` remove: `apt-get -y remove [name]` # A package managed by Apt.
+                &quot;apt&quot;: { # A package managed by APT. - install: `apt-get update &amp;&amp; apt-get -y install [name]` - remove: `apt-get -y remove [name]` # A package managed by Apt.
                   &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                 },
                 &quot;deb&quot;: { # A deb package file. dpkg packages only support INSTALLED state. # A deb package file.
-                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `dpkg -i package` install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
+                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. - install when false: `dpkg -i package` - install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
                   &quot;source&quot;: { # A remote or local file. # Required. A deb package.
                     &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
                     &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
@@ -243,11 +245,11 @@
                   },
                 },
                 &quot;desiredState&quot;: &quot;A String&quot;, # Required. The desired state the agent should maintain for this package.
-                &quot;googet&quot;: { # A package managed by GooGet. install: `googet -noconfirm install package` remove: `googet -noconfirm remove package` # A package managed by GooGet.
+                &quot;googet&quot;: { # A package managed by GooGet. - install: `googet -noconfirm install package` - remove: `googet -noconfirm remove package` # A package managed by GooGet.
                   &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                 },
                 &quot;msi&quot;: { # An MSI package. MSI packages only support INSTALLED state. # An MSI package.
-                  &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of &quot;ACTION=INSTALL REBOOT=ReallySuppress&quot;.
+                  &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of `ACTION=INSTALL REBOOT=ReallySuppress`.
                     &quot;A String&quot;,
                   ],
                   &quot;source&quot;: { # A remote or local file. # Required. The MSI package.
@@ -265,7 +267,7 @@
                   },
                 },
                 &quot;rpm&quot;: { # An RPM package file. RPM packages only support INSTALLED state. # An rpm package file.
-                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `rpm --upgrade --replacepkgs package.rpm` install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
+                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. - install when false: `rpm --upgrade --replacepkgs package.rpm` - install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
                   &quot;source&quot;: { # A remote or local file. # Required. An rpm package.
                     &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
                     &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
@@ -280,21 +282,21 @@
                     },
                   },
                 },
-                &quot;yum&quot;: { # A package managed by YUM. install: `yum -y install package` remove: `yum -y remove package` # A package managed by YUM.
+                &quot;yum&quot;: { # A package managed by YUM. - install: `yum -y install package` - remove: `yum -y remove package` # A package managed by YUM.
                   &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                 },
-                &quot;zypper&quot;: { # A package managed by Zypper. install: `zypper -y install package` remove: `zypper -y rm package` # A package managed by Zypper.
+                &quot;zypper&quot;: { # A package managed by Zypper. - install: `zypper -y install package` - remove: `zypper -y rm package` # A package managed by Zypper.
                   &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                 },
               },
               &quot;repository&quot;: { # A resource that manages a package repository. # Package repository resource
-                &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at /etc/apt/sources.list.d/google_osconfig.list. # An Apt Repository.
+                &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at `/etc/apt/sources.list.d/google_osconfig.list`. # An Apt Repository.
                   &quot;archiveType&quot;: &quot;A String&quot;, # Required. Type of archive files in this repository.
                   &quot;components&quot;: [ # Required. List of components for this repository. Must contain at least one item.
                     &quot;A String&quot;,
                   ],
                   &quot;distribution&quot;: &quot;A String&quot;, # Required. Distribution of this repository.
-                  &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
+                  &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.
                   &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
                 },
                 &quot;goo&quot;: { # Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`. # A Goo Repository.
@@ -370,7 +372,7 @@
 
 <div class="method">
     <code class="details" id="delete">delete(name, x__xgafv=None)</code>
-  <pre>Delete the OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. If the LRO completes and is not cancelled, all revisions associated with the OS policy assignment are deleted. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).
+  <pre>Delete the OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. If the LRO completes and is not cancelled, all revisions associated with the OS policy assignment are deleted. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).
 
 Args:
   name: string, Required. The name of the OS policy assignment to be deleted (required)
@@ -417,7 +419,7 @@
 Returns:
   An object of the form:
 
-    { # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](/compute/docs/os-configuration-management/working-with-os-policies).
+    { # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](https://cloud.google.com/compute/docs/os-configuration-management/working-with-os-policies).
   &quot;baseline&quot;: True or False, # Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.
   &quot;deleted&quot;: True or False, # Output only. Indicates that this revision deletes the OS policy assignment.
   &quot;description&quot;: &quot;A String&quot;, # OS policy assignment description. Length of the description is limited to 1024 characters.
@@ -475,6 +477,7 @@
                     },
                   },
                   &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                  &quot;outputFilePath&quot;: &quot;A String&quot;, # Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.
                   &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
                 },
                 &quot;validate&quot;: { # A file or script to execute. # Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates &quot;in desired state&quot;, and exit code of 101 indicates &quot;not in desired state&quot;. Any other exit code indicates a failure running validate.
@@ -495,6 +498,7 @@
                     },
                   },
                   &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                  &quot;outputFilePath&quot;: &quot;A String&quot;, # Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.
                   &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
                 },
               },
@@ -519,11 +523,11 @@
               },
               &quot;id&quot;: &quot;A String&quot;, # Required. The id of the resource with the following restrictions: * 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 OS policy.
               &quot;pkg&quot;: { # A resource that manages a system package. # Package resource
-                &quot;apt&quot;: { # A package managed by APT. install: `apt-get update &amp;&amp; apt-get -y install [name]` remove: `apt-get -y remove [name]` # A package managed by Apt.
+                &quot;apt&quot;: { # A package managed by APT. - install: `apt-get update &amp;&amp; apt-get -y install [name]` - remove: `apt-get -y remove [name]` # A package managed by Apt.
                   &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                 },
                 &quot;deb&quot;: { # A deb package file. dpkg packages only support INSTALLED state. # A deb package file.
-                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `dpkg -i package` install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
+                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. - install when false: `dpkg -i package` - install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
                   &quot;source&quot;: { # A remote or local file. # Required. A deb package.
                     &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
                     &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
@@ -539,11 +543,11 @@
                   },
                 },
                 &quot;desiredState&quot;: &quot;A String&quot;, # Required. The desired state the agent should maintain for this package.
-                &quot;googet&quot;: { # A package managed by GooGet. install: `googet -noconfirm install package` remove: `googet -noconfirm remove package` # A package managed by GooGet.
+                &quot;googet&quot;: { # A package managed by GooGet. - install: `googet -noconfirm install package` - remove: `googet -noconfirm remove package` # A package managed by GooGet.
                   &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                 },
                 &quot;msi&quot;: { # An MSI package. MSI packages only support INSTALLED state. # An MSI package.
-                  &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of &quot;ACTION=INSTALL REBOOT=ReallySuppress&quot;.
+                  &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of `ACTION=INSTALL REBOOT=ReallySuppress`.
                     &quot;A String&quot;,
                   ],
                   &quot;source&quot;: { # A remote or local file. # Required. The MSI package.
@@ -561,7 +565,7 @@
                   },
                 },
                 &quot;rpm&quot;: { # An RPM package file. RPM packages only support INSTALLED state. # An rpm package file.
-                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `rpm --upgrade --replacepkgs package.rpm` install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
+                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. - install when false: `rpm --upgrade --replacepkgs package.rpm` - install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
                   &quot;source&quot;: { # A remote or local file. # Required. An rpm package.
                     &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
                     &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
@@ -576,21 +580,21 @@
                     },
                   },
                 },
-                &quot;yum&quot;: { # A package managed by YUM. install: `yum -y install package` remove: `yum -y remove package` # A package managed by YUM.
+                &quot;yum&quot;: { # A package managed by YUM. - install: `yum -y install package` - remove: `yum -y remove package` # A package managed by YUM.
                   &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                 },
-                &quot;zypper&quot;: { # A package managed by Zypper. install: `zypper -y install package` remove: `zypper -y rm package` # A package managed by Zypper.
+                &quot;zypper&quot;: { # A package managed by Zypper. - install: `zypper -y install package` - remove: `zypper -y rm package` # A package managed by Zypper.
                   &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                 },
               },
               &quot;repository&quot;: { # A resource that manages a package repository. # Package repository resource
-                &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at /etc/apt/sources.list.d/google_osconfig.list. # An Apt Repository.
+                &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at `/etc/apt/sources.list.d/google_osconfig.list`. # An Apt Repository.
                   &quot;archiveType&quot;: &quot;A String&quot;, # Required. Type of archive files in this repository.
                   &quot;components&quot;: [ # Required. List of components for this repository. Must contain at least one item.
                     &quot;A String&quot;,
                   ],
                   &quot;distribution&quot;: &quot;A String&quot;, # Required. Distribution of this repository.
-                  &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
+                  &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.
                   &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
                 },
                 &quot;goo&quot;: { # Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`. # A Goo Repository.
@@ -654,7 +658,7 @@
     { # A response message for listing all assignments under given parent.
   &quot;nextPageToken&quot;: &quot;A String&quot;, # The pagination token to retrieve the next page of OS policy assignments.
   &quot;osPolicyAssignments&quot;: [ # The list of assignments
-    { # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](/compute/docs/os-configuration-management/working-with-os-policies).
+    { # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](https://cloud.google.com/compute/docs/os-configuration-management/working-with-os-policies).
       &quot;baseline&quot;: True or False, # Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.
       &quot;deleted&quot;: True or False, # Output only. Indicates that this revision deletes the OS policy assignment.
       &quot;description&quot;: &quot;A String&quot;, # OS policy assignment description. Length of the description is limited to 1024 characters.
@@ -712,6 +716,7 @@
                         },
                       },
                       &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                      &quot;outputFilePath&quot;: &quot;A String&quot;, # Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.
                       &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
                     },
                     &quot;validate&quot;: { # A file or script to execute. # Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates &quot;in desired state&quot;, and exit code of 101 indicates &quot;not in desired state&quot;. Any other exit code indicates a failure running validate.
@@ -732,6 +737,7 @@
                         },
                       },
                       &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                      &quot;outputFilePath&quot;: &quot;A String&quot;, # Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.
                       &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
                     },
                   },
@@ -756,11 +762,11 @@
                   },
                   &quot;id&quot;: &quot;A String&quot;, # Required. The id of the resource with the following restrictions: * 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 OS policy.
                   &quot;pkg&quot;: { # A resource that manages a system package. # Package resource
-                    &quot;apt&quot;: { # A package managed by APT. install: `apt-get update &amp;&amp; apt-get -y install [name]` remove: `apt-get -y remove [name]` # A package managed by Apt.
+                    &quot;apt&quot;: { # A package managed by APT. - install: `apt-get update &amp;&amp; apt-get -y install [name]` - remove: `apt-get -y remove [name]` # A package managed by Apt.
                       &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                     },
                     &quot;deb&quot;: { # A deb package file. dpkg packages only support INSTALLED state. # A deb package file.
-                      &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `dpkg -i package` install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
+                      &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. - install when false: `dpkg -i package` - install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
                       &quot;source&quot;: { # A remote or local file. # Required. A deb package.
                         &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
                         &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
@@ -776,11 +782,11 @@
                       },
                     },
                     &quot;desiredState&quot;: &quot;A String&quot;, # Required. The desired state the agent should maintain for this package.
-                    &quot;googet&quot;: { # A package managed by GooGet. install: `googet -noconfirm install package` remove: `googet -noconfirm remove package` # A package managed by GooGet.
+                    &quot;googet&quot;: { # A package managed by GooGet. - install: `googet -noconfirm install package` - remove: `googet -noconfirm remove package` # A package managed by GooGet.
                       &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                     },
                     &quot;msi&quot;: { # An MSI package. MSI packages only support INSTALLED state. # An MSI package.
-                      &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of &quot;ACTION=INSTALL REBOOT=ReallySuppress&quot;.
+                      &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of `ACTION=INSTALL REBOOT=ReallySuppress`.
                         &quot;A String&quot;,
                       ],
                       &quot;source&quot;: { # A remote or local file. # Required. The MSI package.
@@ -798,7 +804,7 @@
                       },
                     },
                     &quot;rpm&quot;: { # An RPM package file. RPM packages only support INSTALLED state. # An rpm package file.
-                      &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `rpm --upgrade --replacepkgs package.rpm` install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
+                      &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. - install when false: `rpm --upgrade --replacepkgs package.rpm` - install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
                       &quot;source&quot;: { # A remote or local file. # Required. An rpm package.
                         &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
                         &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
@@ -813,21 +819,21 @@
                         },
                       },
                     },
-                    &quot;yum&quot;: { # A package managed by YUM. install: `yum -y install package` remove: `yum -y remove package` # A package managed by YUM.
+                    &quot;yum&quot;: { # A package managed by YUM. - install: `yum -y install package` - remove: `yum -y remove package` # A package managed by YUM.
                       &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                     },
-                    &quot;zypper&quot;: { # A package managed by Zypper. install: `zypper -y install package` remove: `zypper -y rm package` # A package managed by Zypper.
+                    &quot;zypper&quot;: { # A package managed by Zypper. - install: `zypper -y install package` - remove: `zypper -y rm package` # A package managed by Zypper.
                       &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                     },
                   },
                   &quot;repository&quot;: { # A resource that manages a package repository. # Package repository resource
-                    &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at /etc/apt/sources.list.d/google_osconfig.list. # An Apt Repository.
+                    &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at `/etc/apt/sources.list.d/google_osconfig.list`. # An Apt Repository.
                       &quot;archiveType&quot;: &quot;A String&quot;, # Required. Type of archive files in this repository.
                       &quot;components&quot;: [ # Required. List of components for this repository. Must contain at least one item.
                         &quot;A String&quot;,
                       ],
                       &quot;distribution&quot;: &quot;A String&quot;, # Required. Distribution of this repository.
-                      &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
+                      &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.
                       &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
                     },
                     &quot;goo&quot;: { # Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`. # A Goo Repository.
@@ -893,7 +899,7 @@
     { # A response message for listing all revisions for a OS policy assignment.
   &quot;nextPageToken&quot;: &quot;A String&quot;, # The pagination token to retrieve the next page of OS policy assignment revisions.
   &quot;osPolicyAssignments&quot;: [ # The OS policy assignment revisions
-    { # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](/compute/docs/os-configuration-management/working-with-os-policies).
+    { # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](https://cloud.google.com/compute/docs/os-configuration-management/working-with-os-policies).
       &quot;baseline&quot;: True or False, # Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.
       &quot;deleted&quot;: True or False, # Output only. Indicates that this revision deletes the OS policy assignment.
       &quot;description&quot;: &quot;A String&quot;, # OS policy assignment description. Length of the description is limited to 1024 characters.
@@ -951,6 +957,7 @@
                         },
                       },
                       &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                      &quot;outputFilePath&quot;: &quot;A String&quot;, # Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.
                       &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
                     },
                     &quot;validate&quot;: { # A file or script to execute. # Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates &quot;in desired state&quot;, and exit code of 101 indicates &quot;not in desired state&quot;. Any other exit code indicates a failure running validate.
@@ -971,6 +978,7 @@
                         },
                       },
                       &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                      &quot;outputFilePath&quot;: &quot;A String&quot;, # Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.
                       &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
                     },
                   },
@@ -995,11 +1003,11 @@
                   },
                   &quot;id&quot;: &quot;A String&quot;, # Required. The id of the resource with the following restrictions: * 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 OS policy.
                   &quot;pkg&quot;: { # A resource that manages a system package. # Package resource
-                    &quot;apt&quot;: { # A package managed by APT. install: `apt-get update &amp;&amp; apt-get -y install [name]` remove: `apt-get -y remove [name]` # A package managed by Apt.
+                    &quot;apt&quot;: { # A package managed by APT. - install: `apt-get update &amp;&amp; apt-get -y install [name]` - remove: `apt-get -y remove [name]` # A package managed by Apt.
                       &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                     },
                     &quot;deb&quot;: { # A deb package file. dpkg packages only support INSTALLED state. # A deb package file.
-                      &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `dpkg -i package` install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
+                      &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. - install when false: `dpkg -i package` - install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
                       &quot;source&quot;: { # A remote or local file. # Required. A deb package.
                         &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
                         &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
@@ -1015,11 +1023,11 @@
                       },
                     },
                     &quot;desiredState&quot;: &quot;A String&quot;, # Required. The desired state the agent should maintain for this package.
-                    &quot;googet&quot;: { # A package managed by GooGet. install: `googet -noconfirm install package` remove: `googet -noconfirm remove package` # A package managed by GooGet.
+                    &quot;googet&quot;: { # A package managed by GooGet. - install: `googet -noconfirm install package` - remove: `googet -noconfirm remove package` # A package managed by GooGet.
                       &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                     },
                     &quot;msi&quot;: { # An MSI package. MSI packages only support INSTALLED state. # An MSI package.
-                      &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of &quot;ACTION=INSTALL REBOOT=ReallySuppress&quot;.
+                      &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of `ACTION=INSTALL REBOOT=ReallySuppress`.
                         &quot;A String&quot;,
                       ],
                       &quot;source&quot;: { # A remote or local file. # Required. The MSI package.
@@ -1037,7 +1045,7 @@
                       },
                     },
                     &quot;rpm&quot;: { # An RPM package file. RPM packages only support INSTALLED state. # An rpm package file.
-                      &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `rpm --upgrade --replacepkgs package.rpm` install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
+                      &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. - install when false: `rpm --upgrade --replacepkgs package.rpm` - install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
                       &quot;source&quot;: { # A remote or local file. # Required. An rpm package.
                         &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
                         &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
@@ -1052,21 +1060,21 @@
                         },
                       },
                     },
-                    &quot;yum&quot;: { # A package managed by YUM. install: `yum -y install package` remove: `yum -y remove package` # A package managed by YUM.
+                    &quot;yum&quot;: { # A package managed by YUM. - install: `yum -y install package` - remove: `yum -y remove package` # A package managed by YUM.
                       &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                     },
-                    &quot;zypper&quot;: { # A package managed by Zypper. install: `zypper -y install package` remove: `zypper -y rm package` # A package managed by Zypper.
+                    &quot;zypper&quot;: { # A package managed by Zypper. - install: `zypper -y install package` - remove: `zypper -y rm package` # A package managed by Zypper.
                       &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                     },
                   },
                   &quot;repository&quot;: { # A resource that manages a package repository. # Package repository resource
-                    &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at /etc/apt/sources.list.d/google_osconfig.list. # An Apt Repository.
+                    &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at `/etc/apt/sources.list.d/google_osconfig.list`. # An Apt Repository.
                       &quot;archiveType&quot;: &quot;A String&quot;, # Required. Type of archive files in this repository.
                       &quot;components&quot;: [ # Required. List of components for this repository. Must contain at least one item.
                         &quot;A String&quot;,
                       ],
                       &quot;distribution&quot;: &quot;A String&quot;, # Required. Distribution of this repository.
-                      &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
+                      &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.
                       &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
                     },
                     &quot;goo&quot;: { # Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`. # A Goo Repository.
@@ -1143,14 +1151,14 @@
 
 <div class="method">
     <code class="details" id="patch">patch(name, body=None, updateMask=None, x__xgafv=None)</code>
-  <pre>Update an existing OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).
+  <pre>Update an existing OS policy assignment. This method creates a new revision of the OS policy assignment. This method returns a long running operation (LRO) that contains the rollout details. The rollout can be cancelled by cancelling the LRO. For more information, see [Method: projects.locations.osPolicyAssignments.operations.cancel](https://cloud.google.com/compute/docs/osconfig/rest/v1alpha/projects.locations.osPolicyAssignments.operations/cancel).
 
 Args:
   name: string, Resource name. Format: `projects/{project_number}/locations/{location}/osPolicyAssignments/{os_policy_assignment_id}` This field is ignored when you create an OS policy assignment. (required)
   body: object, The request body.
     The object takes the form of:
 
-{ # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](/compute/docs/os-configuration-management/working-with-os-policies).
+{ # OS policy assignment is an API resource that is used to apply a set of OS policies to a dynamically targeted group of Compute Engine VM instances. An OS policy is used to define the desired state configuration for a Compute Engine VM instance through a set of configuration resources that provide capabilities such as installing or removing software packages, or executing a script. For more information, see [OS policy and OS policy assignment](https://cloud.google.com/compute/docs/os-configuration-management/working-with-os-policies).
   &quot;baseline&quot;: True or False, # Output only. Indicates that this revision has been successfully rolled out in this zone and new VMs will be assigned OS policies from this revision. For a given OS policy assignment, there is only one revision with a value of `true` for this field.
   &quot;deleted&quot;: True or False, # Output only. Indicates that this revision deletes the OS policy assignment.
   &quot;description&quot;: &quot;A String&quot;, # OS policy assignment description. Length of the description is limited to 1024 characters.
@@ -1208,6 +1216,7 @@
                     },
                   },
                   &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                  &quot;outputFilePath&quot;: &quot;A String&quot;, # Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.
                   &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
                 },
                 &quot;validate&quot;: { # A file or script to execute. # Required. What to run to validate this resource is in the desired state. An exit code of 100 indicates &quot;in desired state&quot;, and exit code of 101 indicates &quot;not in desired state&quot;. Any other exit code indicates a failure running validate.
@@ -1228,6 +1237,7 @@
                     },
                   },
                   &quot;interpreter&quot;: &quot;A String&quot;, # Required. The script interpreter to use.
+                  &quot;outputFilePath&quot;: &quot;A String&quot;, # Only recorded for enforce Exec. Path to an output file (that is created by this Exec) whose content will be recorded in OSPolicyResourceCompliance after a successful run. Absence or failure to read this file will result in this ExecResource being non-compliant. Output file size is limited to 100K bytes.
                   &quot;script&quot;: &quot;A String&quot;, # An inline script. The size of the script is limited to 1024 characters.
                 },
               },
@@ -1252,11 +1262,11 @@
               },
               &quot;id&quot;: &quot;A String&quot;, # Required. The id of the resource with the following restrictions: * 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 OS policy.
               &quot;pkg&quot;: { # A resource that manages a system package. # Package resource
-                &quot;apt&quot;: { # A package managed by APT. install: `apt-get update &amp;&amp; apt-get -y install [name]` remove: `apt-get -y remove [name]` # A package managed by Apt.
+                &quot;apt&quot;: { # A package managed by APT. - install: `apt-get update &amp;&amp; apt-get -y install [name]` - remove: `apt-get -y remove [name]` # A package managed by Apt.
                   &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                 },
                 &quot;deb&quot;: { # A deb package file. dpkg packages only support INSTALLED state. # A deb package file.
-                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `dpkg -i package` install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
+                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. - install when false: `dpkg -i package` - install when true: `apt-get update &amp;&amp; apt-get -y install package.deb`
                   &quot;source&quot;: { # A remote or local file. # Required. A deb package.
                     &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
                     &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
@@ -1272,11 +1282,11 @@
                   },
                 },
                 &quot;desiredState&quot;: &quot;A String&quot;, # Required. The desired state the agent should maintain for this package.
-                &quot;googet&quot;: { # A package managed by GooGet. install: `googet -noconfirm install package` remove: `googet -noconfirm remove package` # A package managed by GooGet.
+                &quot;googet&quot;: { # A package managed by GooGet. - install: `googet -noconfirm install package` - remove: `googet -noconfirm remove package` # A package managed by GooGet.
                   &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                 },
                 &quot;msi&quot;: { # An MSI package. MSI packages only support INSTALLED state. # An MSI package.
-                  &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of &quot;ACTION=INSTALL REBOOT=ReallySuppress&quot;.
+                  &quot;properties&quot;: [ # Additional properties to use during installation. This should be in the format of Property=Setting. Appended to the defaults of `ACTION=INSTALL REBOOT=ReallySuppress`.
                     &quot;A String&quot;,
                   ],
                   &quot;source&quot;: { # A remote or local file. # Required. The MSI package.
@@ -1294,7 +1304,7 @@
                   },
                 },
                 &quot;rpm&quot;: { # An RPM package file. RPM packages only support INSTALLED state. # An rpm package file.
-                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. install when false: `rpm --upgrade --replacepkgs package.rpm` install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
+                  &quot;pullDeps&quot;: True or False, # Whether dependencies should also be installed. - install when false: `rpm --upgrade --replacepkgs package.rpm` - install when true: `yum -y install package.rpm` or `zypper -y install package.rpm`
                   &quot;source&quot;: { # A remote or local file. # Required. An rpm package.
                     &quot;allowInsecure&quot;: True or False, # Defaults to false. When false, files are subject to validations based on the file type: Remote: A checksum must be specified. Cloud Storage: An object generation number must be specified.
                     &quot;gcs&quot;: { # Specifies a file available as a Cloud Storage Object. # A Cloud Storage object.
@@ -1309,21 +1319,21 @@
                     },
                   },
                 },
-                &quot;yum&quot;: { # A package managed by YUM. install: `yum -y install package` remove: `yum -y remove package` # A package managed by YUM.
+                &quot;yum&quot;: { # A package managed by YUM. - install: `yum -y install package` - remove: `yum -y remove package` # A package managed by YUM.
                   &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                 },
-                &quot;zypper&quot;: { # A package managed by Zypper. install: `zypper -y install package` remove: `zypper -y rm package` # A package managed by Zypper.
+                &quot;zypper&quot;: { # A package managed by Zypper. - install: `zypper -y install package` - remove: `zypper -y rm package` # A package managed by Zypper.
                   &quot;name&quot;: &quot;A String&quot;, # Required. Package name.
                 },
               },
               &quot;repository&quot;: { # A resource that manages a package repository. # Package repository resource
-                &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at /etc/apt/sources.list.d/google_osconfig.list. # An Apt Repository.
+                &quot;apt&quot;: { # Represents a single apt package repository. These will be added to a repo file that will be managed at `/etc/apt/sources.list.d/google_osconfig.list`. # An Apt Repository.
                   &quot;archiveType&quot;: &quot;A String&quot;, # Required. Type of archive files in this repository.
                   &quot;components&quot;: [ # Required. List of components for this repository. Must contain at least one item.
                     &quot;A String&quot;,
                   ],
                   &quot;distribution&quot;: &quot;A String&quot;, # Required. Distribution of this repository.
-                  &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at /etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg.
+                  &quot;gpgKey&quot;: &quot;A String&quot;, # URI of the key file for this repository. The agent maintains a keyring at `/etc/apt/trusted.gpg.d/osconfig_agent_managed.gpg`.
                   &quot;uri&quot;: &quot;A String&quot;, # Required. URI for this repository.
                 },
                 &quot;goo&quot;: { # Represents a Goo package repository. These are added to a repo file that is managed at `C:/ProgramData/GooGet/repos/google_osconfig.repo`. # A Goo Repository.
diff --git a/docs/dyn/prod_tt_sasportal_v1alpha1.policies.html b/docs/dyn/prod_tt_sasportal_v1alpha1.policies.html
index 1560b72..0fa7579 100644
--- a/docs/dyn/prod_tt_sasportal_v1alpha1.policies.html
+++ b/docs/dyn/prod_tt_sasportal_v1alpha1.policies.html
@@ -134,6 +134,7 @@
     The object takes the form of:
 
 { # Request message for `SetPolicy` method.
+  &quot;disableNotification&quot;: True or False, # Optional. Set the field as true when we would like to disable the onboarding notification.
   &quot;policy&quot;: { # Defines an access control policy to the resources. # Required. The policy to be applied to the `resource`.
     &quot;assignments&quot;: [ # List of assignments
       { # Associates `members` with a `role`.
diff --git a/docs/dyn/recommender_v1.billingAccounts.locations.insightTypes.insights.html b/docs/dyn/recommender_v1.billingAccounts.locations.insightTypes.insights.html
index 55695b4..6928894 100644
--- a/docs/dyn/recommender_v1.billingAccounts.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1.billingAccounts.locations.insightTypes.insights.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.</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 insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.</p>
+<p class="firstline">Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -140,7 +140,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.
+  <pre>Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
diff --git a/docs/dyn/recommender_v1.billingAccounts.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1.billingAccounts.locations.recommenders.recommendations.html
index 0bc05e2..1a78b7d 100644
--- a/docs/dyn/recommender_v1.billingAccounts.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1.billingAccounts.locations.recommenders.recommendations.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.</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 recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.</p>
+<p class="firstline">Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -144,7 +144,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -200,7 +200,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.
+  <pre>Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
@@ -247,7 +247,7 @@
           { # Group of operations that need to be performed atomically.
             &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
               { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
                 &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
                 &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
                   &quot;a_key&quot;: &quot;&quot;,
@@ -370,7 +370,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -477,7 +477,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -584,7 +584,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
diff --git a/docs/dyn/recommender_v1.folders.locations.insightTypes.insights.html b/docs/dyn/recommender_v1.folders.locations.insightTypes.insights.html
index 837d153..7381735 100644
--- a/docs/dyn/recommender_v1.folders.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1.folders.locations.insightTypes.insights.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.</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 insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.</p>
+<p class="firstline">Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -140,7 +140,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.
+  <pre>Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
diff --git a/docs/dyn/recommender_v1.folders.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1.folders.locations.recommenders.recommendations.html
index 3fc9c86..e284a00 100644
--- a/docs/dyn/recommender_v1.folders.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1.folders.locations.recommenders.recommendations.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.</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 recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.</p>
+<p class="firstline">Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -144,7 +144,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -200,7 +200,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.
+  <pre>Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
@@ -247,7 +247,7 @@
           { # Group of operations that need to be performed atomically.
             &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
               { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
                 &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
                 &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
                   &quot;a_key&quot;: &quot;&quot;,
@@ -370,7 +370,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -477,7 +477,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -584,7 +584,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
diff --git a/docs/dyn/recommender_v1.organizations.locations.insightTypes.insights.html b/docs/dyn/recommender_v1.organizations.locations.insightTypes.insights.html
index 4620842..ad86eb4 100644
--- a/docs/dyn/recommender_v1.organizations.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1.organizations.locations.insightTypes.insights.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.</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 insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.</p>
+<p class="firstline">Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -140,7 +140,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.
+  <pre>Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
diff --git a/docs/dyn/recommender_v1.organizations.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1.organizations.locations.recommenders.recommendations.html
index af6b8e3..e2234e9 100644
--- a/docs/dyn/recommender_v1.organizations.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1.organizations.locations.recommenders.recommendations.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.</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 recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.</p>
+<p class="firstline">Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -144,7 +144,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -200,7 +200,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.
+  <pre>Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
@@ -247,7 +247,7 @@
           { # Group of operations that need to be performed atomically.
             &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
               { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
                 &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
                 &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
                   &quot;a_key&quot;: &quot;&quot;,
@@ -370,7 +370,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -477,7 +477,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -584,7 +584,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
diff --git a/docs/dyn/recommender_v1.projects.locations.insightTypes.insights.html b/docs/dyn/recommender_v1.projects.locations.insightTypes.insights.html
index 61326a1..7997839 100644
--- a/docs/dyn/recommender_v1.projects.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1.projects.locations.insightTypes.insights.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.</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 insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.</p>
+<p class="firstline">Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -140,7 +140,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.
+  <pre>Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
diff --git a/docs/dyn/recommender_v1.projects.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1.projects.locations.recommenders.recommendations.html
index 1586c73..03057a8 100644
--- a/docs/dyn/recommender_v1.projects.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1.projects.locations.recommenders.recommendations.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.</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 recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.</p>
+<p class="firstline">Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -144,7 +144,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -200,7 +200,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.
+  <pre>Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
@@ -247,7 +247,7 @@
           { # Group of operations that need to be performed atomically.
             &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
               { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
                 &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
                 &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
                   &quot;a_key&quot;: &quot;&quot;,
@@ -370,7 +370,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -477,7 +477,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -584,7 +584,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and custom operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
diff --git a/docs/dyn/recommender_v1beta1.billingAccounts.locations.insightTypes.insights.html b/docs/dyn/recommender_v1beta1.billingAccounts.locations.insightTypes.insights.html
index 01d6419..b977a54 100644
--- a/docs/dyn/recommender_v1beta1.billingAccounts.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1beta1.billingAccounts.locations.insightTypes.insights.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.</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 insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.</p>
+<p class="firstline">Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -140,7 +140,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.
+  <pre>Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
diff --git a/docs/dyn/recommender_v1beta1.billingAccounts.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1beta1.billingAccounts.locations.recommenders.recommendations.html
index 25e4ddb..5d8d6fa 100644
--- a/docs/dyn/recommender_v1beta1.billingAccounts.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1beta1.billingAccounts.locations.recommenders.recommendations.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.</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 recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.</p>
+<p class="firstline">Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -144,7 +144,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -200,7 +200,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.
+  <pre>Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
@@ -247,7 +247,7 @@
           { # Group of operations that need to be performed atomically.
             &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
               { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
                 &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
                 &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
                   &quot;a_key&quot;: &quot;&quot;,
@@ -370,7 +370,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -477,7 +477,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -584,7 +584,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
diff --git a/docs/dyn/recommender_v1beta1.folders.locations.insightTypes.insights.html b/docs/dyn/recommender_v1beta1.folders.locations.insightTypes.insights.html
index a2025fe..92ae37d 100644
--- a/docs/dyn/recommender_v1beta1.folders.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1beta1.folders.locations.insightTypes.insights.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.</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 insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.</p>
+<p class="firstline">Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -140,7 +140,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.
+  <pre>Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
diff --git a/docs/dyn/recommender_v1beta1.folders.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1beta1.folders.locations.recommenders.recommendations.html
index 12b8923..f1917b7 100644
--- a/docs/dyn/recommender_v1beta1.folders.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1beta1.folders.locations.recommenders.recommendations.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.</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 recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.</p>
+<p class="firstline">Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -144,7 +144,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -200,7 +200,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.
+  <pre>Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
@@ -247,7 +247,7 @@
           { # Group of operations that need to be performed atomically.
             &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
               { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
                 &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
                 &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
                   &quot;a_key&quot;: &quot;&quot;,
@@ -370,7 +370,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -477,7 +477,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -584,7 +584,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
diff --git a/docs/dyn/recommender_v1beta1.organizations.locations.insightTypes.insights.html b/docs/dyn/recommender_v1beta1.organizations.locations.insightTypes.insights.html
index b2a5e58..ba2891e 100644
--- a/docs/dyn/recommender_v1beta1.organizations.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1beta1.organizations.locations.insightTypes.insights.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.</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 insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.</p>
+<p class="firstline">Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -140,7 +140,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.
+  <pre>Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
diff --git a/docs/dyn/recommender_v1beta1.organizations.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1beta1.organizations.locations.recommenders.recommendations.html
index caa1c6c..4fdb625 100644
--- a/docs/dyn/recommender_v1beta1.organizations.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1beta1.organizations.locations.recommenders.recommendations.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.</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 recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.</p>
+<p class="firstline">Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -144,7 +144,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -200,7 +200,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.
+  <pre>Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
@@ -247,7 +247,7 @@
           { # Group of operations that need to be performed atomically.
             &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
               { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
                 &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
                 &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
                   &quot;a_key&quot;: &quot;&quot;,
@@ -370,7 +370,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -477,7 +477,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -584,7 +584,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
diff --git a/docs/dyn/recommender_v1beta1.projects.locations.insightTypes.insights.html b/docs/dyn/recommender_v1beta1.projects.locations.insightTypes.insights.html
index fc53224..bed52df 100644
--- a/docs/dyn/recommender_v1beta1.projects.locations.insightTypes.insights.html
+++ b/docs/dyn/recommender_v1beta1.projects.locations.insightTypes.insights.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested insight. Requires the recommender.*.get IAM permission for the specified insight type.</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 insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.</p>
+<p class="firstline">Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -140,7 +140,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists insights for a Cloud project. Requires the recommender.*.list IAM permission for the specified insight type.
+  <pre>Lists insights for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified insight type.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/insightTypes/[INSIGHT_TYPE_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ INSIGHT_TYPE_ID refers to supported insight types: https://cloud.google.com/recommender/docs/insights/insight-types. (required)
diff --git a/docs/dyn/recommender_v1beta1.projects.locations.recommenders.recommendations.html b/docs/dyn/recommender_v1beta1.projects.locations.recommenders.recommendations.html
index f5db786..1629f14 100644
--- a/docs/dyn/recommender_v1beta1.projects.locations.recommenders.recommendations.html
+++ b/docs/dyn/recommender_v1beta1.projects.locations.recommenders.recommendations.html
@@ -82,7 +82,7 @@
 <p class="firstline">Gets the requested recommendation. Requires the recommender.*.get IAM permission for the specified recommender.</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 recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.</p>
+<p class="firstline">Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.</p>
 <p class="toc_element">
   <code><a href="#list_next">list_next(previous_request, previous_response)</a></code></p>
 <p class="firstline">Retrieves the next page of results.</p>
@@ -144,7 +144,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -200,7 +200,7 @@
 
 <div class="method">
     <code class="details" id="list">list(parent, filter=None, pageSize=None, pageToken=None, x__xgafv=None)</code>
-  <pre>Lists recommendations for a Cloud project. Requires the recommender.*.list IAM permission for the specified recommender.
+  <pre>Lists recommendations for the specified Cloud Resource. Requires the recommender.*.list IAM permission for the specified recommender.
 
 Args:
   parent: string, Required. The container resource on which to execute the request. Acceptable formats: 1. `projects/[PROJECT_NUMBER]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 2. `billingAccounts/[BILLING_ACCOUNT_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 3. `folders/[FOLDER_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` 4. `organizations/[ORGANIZATION_ID]/locations/[LOCATION]/recommenders/[RECOMMENDER_ID]` LOCATION here refers to GCP Locations: https://cloud.google.com/about/locations/ RECOMMENDER_ID refers to supported recommenders: https://cloud.google.com/recommender/docs/recommenders. (required)
@@ -247,7 +247,7 @@
           { # Group of operations that need to be performed atomically.
             &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
               { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+                &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
                 &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
                 &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
                   &quot;a_key&quot;: &quot;&quot;,
@@ -370,7 +370,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -477,7 +477,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
@@ -584,7 +584,7 @@
       { # Group of operations that need to be performed atomically.
         &quot;operations&quot;: [ # List of operations across one or more resources that belong to this group. Loosely based on RFC6902 and should be performed in the order they appear.
           { # Contains an operation for a resource loosely based on the JSON-PATCH format with support for: * Custom filters for describing partial array patch. * Extended path values for describing nested arrays. * Custom fields for describing the resource for which the operation is being described. * Allows extension to custom operations not natively supported by RFC6902. See https://tools.ietf.org/html/rfc6902 for details on the original RFC.
-            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;and&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
+            &quot;action&quot;: &quot;A String&quot;, # Type of this operation. Contains one of &#x27;add&#x27;, &#x27;remove&#x27;, &#x27;replace&#x27;, &#x27;move&#x27;, &#x27;copy&#x27;, &#x27;test&#x27; and &#x27;custom&#x27; operations. This field is case-insensitive and always populated.
             &quot;path&quot;: &quot;A String&quot;, # Path to the target field being operated on. If the operation is at the resource level, then path should be &quot;/&quot;. This field is always populated.
             &quot;pathFilters&quot;: { # Set of filters to apply if `path` refers to array elements or nested array elements in order to narrow down to a single unique element that is being tested/modified. This is intended to be an exact match per filter. To perform advanced matching, use path_value_matchers. * Example: { &quot;/versions/*/name&quot; : &quot;it-123&quot; &quot;/versions/*/targetSize/percent&quot;: 20 } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/condition&quot; : null } * Example: { &quot;/bindings/*/role&quot;: &quot;roles/owner&quot; &quot;/bindings/*/members/*&quot; : [&quot;x@example.com&quot;, &quot;y@example.com&quot;] } When both path_filters and path_value_matchers are set, an implicit AND must be performed.
               &quot;a_key&quot;: &quot;&quot;,
diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html
index f8cfcdd..17d260f 100644
--- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html
+++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.placements.html
@@ -182,6 +182,7 @@
     },
     &quot;referrerUri&quot;: &quot;A String&quot;, # The referrer URL of the current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically.
     &quot;searchQuery&quot;: &quot;A String&quot;, # The user&#x27;s search query. The value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. At least one of search_query or page_categories is required for `search` events. Other event types should not set this field. Otherwise, an INVALID_ARGUMENT error is returned.
+    &quot;sessionId&quot;: &quot;A String&quot;, # Represents the user sessions to aggregate user behavior within a time period. If not set, heuristics will be used to autogenerate one.
     &quot;uri&quot;: &quot;A String&quot;, # Complete URL (window.location.href) of the user&#x27;s current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically. Maximum length 5,000 characters.
     &quot;userInfo&quot;: { # Information of an end user. # User information.
       &quot;directUserRequest&quot;: True or False, # True if the request is made directly from the end user, in which case the ip_address and user_agent can be populated from the HTTP request. This flag should be set only if the API request is made directly from the end user such as a mobile app (and not if a gateway or a server is processing and pushing the user events). This should not be set when using the JavaScript tag in UserEventService.CollectUserEvent.
diff --git a/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html b/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html
index b53fd81..b467fe1 100644
--- a/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html
+++ b/docs/dyn/retail_v2alpha.projects.locations.catalogs.userEvents.html
@@ -232,6 +232,7 @@
           },
           &quot;referrerUri&quot;: &quot;A String&quot;, # The referrer URL of the current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically.
           &quot;searchQuery&quot;: &quot;A String&quot;, # The user&#x27;s search query. The value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. At least one of search_query or page_categories is required for `search` events. Other event types should not set this field. Otherwise, an INVALID_ARGUMENT error is returned.
+          &quot;sessionId&quot;: &quot;A String&quot;, # Represents the user sessions to aggregate user behavior within a time period. If not set, heuristics will be used to autogenerate one.
           &quot;uri&quot;: &quot;A String&quot;, # Complete URL (window.location.href) of the user&#x27;s current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically. Maximum length 5,000 characters.
           &quot;userInfo&quot;: { # Information of an end user. # User information.
             &quot;directUserRequest&quot;: True or False, # True if the request is made directly from the end user, in which case the ip_address and user_agent can be populated from the HTTP request. This flag should be set only if the API request is made directly from the end user such as a mobile app (and not if a gateway or a server is processing and pushing the user events). This should not be set when using the JavaScript tag in UserEventService.CollectUserEvent.
@@ -446,6 +447,7 @@
   },
   &quot;referrerUri&quot;: &quot;A String&quot;, # The referrer URL of the current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically.
   &quot;searchQuery&quot;: &quot;A String&quot;, # The user&#x27;s search query. The value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. At least one of search_query or page_categories is required for `search` events. Other event types should not set this field. Otherwise, an INVALID_ARGUMENT error is returned.
+  &quot;sessionId&quot;: &quot;A String&quot;, # Represents the user sessions to aggregate user behavior within a time period. If not set, heuristics will be used to autogenerate one.
   &quot;uri&quot;: &quot;A String&quot;, # Complete URL (window.location.href) of the user&#x27;s current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically. Maximum length 5,000 characters.
   &quot;userInfo&quot;: { # Information of an end user. # User information.
     &quot;directUserRequest&quot;: True or False, # True if the request is made directly from the end user, in which case the ip_address and user_agent can be populated from the HTTP request. This flag should be set only if the API request is made directly from the end user such as a mobile app (and not if a gateway or a server is processing and pushing the user events). This should not be set when using the JavaScript tag in UserEventService.CollectUserEvent.
@@ -541,6 +543,7 @@
   },
   &quot;referrerUri&quot;: &quot;A String&quot;, # The referrer URL of the current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically.
   &quot;searchQuery&quot;: &quot;A String&quot;, # The user&#x27;s search query. The value must be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned. At least one of search_query or page_categories is required for `search` events. Other event types should not set this field. Otherwise, an INVALID_ARGUMENT error is returned.
+  &quot;sessionId&quot;: &quot;A String&quot;, # Represents the user sessions to aggregate user behavior within a time period. If not set, heuristics will be used to autogenerate one.
   &quot;uri&quot;: &quot;A String&quot;, # Complete URL (window.location.href) of the user&#x27;s current page. When using the client side event reporting with JavaScript pixel and Google Tag Manager, this value is filled in automatically. Maximum length 5,000 characters.
   &quot;userInfo&quot;: { # Information of an end user. # User information.
     &quot;directUserRequest&quot;: True or False, # True if the request is made directly from the end user, in which case the ip_address and user_agent can be populated from the HTTP request. This flag should be set only if the API request is made directly from the end user such as a mobile app (and not if a gateway or a server is processing and pushing the user events). This should not be set when using the JavaScript tag in UserEventService.CollectUserEvent.
diff --git a/docs/dyn/spanner_v1.projects.instances.databases.sessions.html b/docs/dyn/spanner_v1.projects.instances.databases.sessions.html
index 936dae8..5a34d9d 100644
--- a/docs/dyn/spanner_v1.projects.instances.databases.sessions.html
+++ b/docs/dyn/spanner_v1.projects.instances.databases.sessions.html
@@ -421,7 +421,14 @@
         &quot;a_key&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query.
           &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
           &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
-          &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
+          &quot;structType&quot;: { # `StructType` defines the fields of a STRUCT type. # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
+            &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
+              { # Message representing a single field of a struct.
+                &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
+                &quot;type&quot;: # Object with schema name: Type # The type of the field.
+              },
+            ],
+          },
         },
       },
       &quot;params&quot;: { # Parameter names and values that bind to placeholders in the DML string. A parameter placeholder consists of the `@` character followed by the parameter name (for example, `@firstName`). Parameter names can contain letters, numbers, and underscores. Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: `&quot;WHERE id &gt; @msg_id AND id &lt; @msg_id + 100&quot;` It is an error to execute a SQL statement with unbound parameters.
@@ -479,11 +486,7 @@
           &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
             { # Message representing a single field of a struct.
               &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
-              &quot;type&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field.
-                &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
-                &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
-                &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
-              },
+              &quot;type&quot;: # Object with schema name: Type # The type of the field.
             },
           ],
         },
@@ -560,7 +563,14 @@
     &quot;a_key&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query.
       &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
       &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
-      &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
+      &quot;structType&quot;: { # `StructType` defines the fields of a STRUCT type. # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
+        &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
+          { # Message representing a single field of a struct.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
+            &quot;type&quot;: # Object with schema name: Type # The type of the field.
+          },
+        ],
+      },
     },
   },
   &quot;params&quot;: { # Parameter names and values that bind to placeholders in the SQL string. A parameter placeholder consists of the `@` character followed by the parameter name (for example, `@firstName`). Parameter names must conform to the naming requirements of identifiers as specified at https://cloud.google.com/spanner/docs/lexical#identifiers. Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: `&quot;WHERE id &gt; @msg_id AND id &lt; @msg_id + 100&quot;` It is an error to execute a SQL statement with unbound parameters.
@@ -627,11 +637,7 @@
       &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
         { # Message representing a single field of a struct.
           &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
-          &quot;type&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field.
-            &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
-            &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
-            &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
-          },
+          &quot;type&quot;: # Object with schema name: Type # The type of the field.
         },
       ],
     },
@@ -697,7 +703,14 @@
     &quot;a_key&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query.
       &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
       &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
-      &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
+      &quot;structType&quot;: { # `StructType` defines the fields of a STRUCT type. # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
+        &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
+          { # Message representing a single field of a struct.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
+            &quot;type&quot;: # Object with schema name: Type # The type of the field.
+          },
+        ],
+      },
     },
   },
   &quot;params&quot;: { # Parameter names and values that bind to placeholders in the SQL string. A parameter placeholder consists of the `@` character followed by the parameter name (for example, `@firstName`). Parameter names must conform to the naming requirements of identifiers as specified at https://cloud.google.com/spanner/docs/lexical#identifiers. Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: `&quot;WHERE id &gt; @msg_id AND id &lt; @msg_id + 100&quot;` It is an error to execute a SQL statement with unbound parameters.
@@ -765,11 +778,7 @@
       &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
         { # Message representing a single field of a struct.
           &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
-          &quot;type&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field.
-            &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
-            &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
-            &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
-          },
+          &quot;type&quot;: # Object with schema name: Type # The type of the field.
         },
       ],
     },
@@ -904,7 +913,14 @@
     &quot;a_key&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query.
       &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
       &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
-      &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
+      &quot;structType&quot;: { # `StructType` defines the fields of a STRUCT type. # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
+        &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
+          { # Message representing a single field of a struct.
+            &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
+            &quot;type&quot;: # Object with schema name: Type # The type of the field.
+          },
+        ],
+      },
     },
   },
   &quot;params&quot;: { # Parameter names and values that bind to placeholders in the SQL string. A parameter placeholder consists of the `@` character followed by the parameter name (for example, `@firstName`). Parameter names can contain letters, numbers, and underscores. Parameters can appear anywhere that a literal value is expected. The same parameter name can be used more than once, for example: `&quot;WHERE id &gt; @msg_id AND id &lt; @msg_id + 100&quot;` It is an error to execute a SQL statement with unbound parameters.
@@ -1160,11 +1176,7 @@
       &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
         { # Message representing a single field of a struct.
           &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
-          &quot;type&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field.
-            &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
-            &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
-            &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
-          },
+          &quot;type&quot;: # Object with schema name: Type # The type of the field.
         },
       ],
     },
@@ -1336,11 +1348,7 @@
       &quot;fields&quot;: [ # The list of fields that make up this struct. Order is significant, because values of this struct type are represented as lists, where the order of field values matches the order of fields in the StructType. In turn, the order of fields matches the order of columns in a read request, or the order of fields in the `SELECT` clause of a query.
         { # Message representing a single field of a struct.
           &quot;name&quot;: &quot;A String&quot;, # The name of the field. For reads, this is the column name. For SQL queries, it is the column alias (e.g., `&quot;Word&quot;` in the query `&quot;SELECT &#x27;hello&#x27; AS Word&quot;`), or the column name (e.g., `&quot;ColName&quot;` in the query `&quot;SELECT ColName FROM Table&quot;`). Some columns might have an empty name (e.g., `&quot;SELECT UPPER(ColName)&quot;`). Note that a query result can contain multiple fields with the same name.
-          &quot;type&quot;: { # `Type` indicates the type of a Cloud Spanner value, as might be stored in a table cell or returned from an SQL query. # The type of the field.
-            &quot;arrayElementType&quot;: # Object with schema name: Type # If code == ARRAY, then `array_element_type` is the type of the array elements.
-            &quot;code&quot;: &quot;A String&quot;, # Required. The TypeCode for this type.
-            &quot;structType&quot;: # Object with schema name: StructType # If code == STRUCT, then `struct_type` provides type information for the struct&#x27;s fields.
-          },
+          &quot;type&quot;: # Object with schema name: Type # The type of the field.
         },
       ],
     },
diff --git a/docs/dyn/storagetransfer_v1.transferJobs.html b/docs/dyn/storagetransfer_v1.transferJobs.html
index 5a2e891..de38afa 100644
--- a/docs/dyn/storagetransfer_v1.transferJobs.html
+++ b/docs/dyn/storagetransfer_v1.transferJobs.html
@@ -152,7 +152,7 @@
   &quot;status&quot;: &quot;A String&quot;, # Status of the job. This value MUST be specified for `CreateTransferJobRequests`. **Note:** The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.
   &quot;transferSpec&quot;: { # Configuration for running a transfer. # Transfer specification.
     &quot;awsS3DataSource&quot;: { # An AwsS3Data resource can be a data source, but not a data sink. In an AwsS3Data resource, an object&#x27;s name is the S3 object&#x27;s key name. # An AWS S3 data source.
-      &quot;awsAccessKey&quot;: { # AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Required. Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
+      &quot;awsAccessKey&quot;: { # AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
         &quot;accessKeyId&quot;: &quot;A String&quot;, # Required. AWS access key ID.
         &quot;secretAccessKey&quot;: &quot;A String&quot;, # Required. AWS secret access key. This field is not returned in RPC responses.
       },
@@ -249,7 +249,7 @@
   &quot;status&quot;: &quot;A String&quot;, # Status of the job. This value MUST be specified for `CreateTransferJobRequests`. **Note:** The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.
   &quot;transferSpec&quot;: { # Configuration for running a transfer. # Transfer specification.
     &quot;awsS3DataSource&quot;: { # An AwsS3Data resource can be a data source, but not a data sink. In an AwsS3Data resource, an object&#x27;s name is the S3 object&#x27;s key name. # An AWS S3 data source.
-      &quot;awsAccessKey&quot;: { # AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Required. Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
+      &quot;awsAccessKey&quot;: { # AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
         &quot;accessKeyId&quot;: &quot;A String&quot;, # Required. AWS access key ID.
         &quot;secretAccessKey&quot;: &quot;A String&quot;, # Required. AWS secret access key. This field is not returned in RPC responses.
       },
@@ -354,7 +354,7 @@
   &quot;status&quot;: &quot;A String&quot;, # Status of the job. This value MUST be specified for `CreateTransferJobRequests`. **Note:** The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.
   &quot;transferSpec&quot;: { # Configuration for running a transfer. # Transfer specification.
     &quot;awsS3DataSource&quot;: { # An AwsS3Data resource can be a data source, but not a data sink. In an AwsS3Data resource, an object&#x27;s name is the S3 object&#x27;s key name. # An AWS S3 data source.
-      &quot;awsAccessKey&quot;: { # AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Required. Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
+      &quot;awsAccessKey&quot;: { # AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
         &quot;accessKeyId&quot;: &quot;A String&quot;, # Required. AWS access key ID.
         &quot;secretAccessKey&quot;: &quot;A String&quot;, # Required. AWS secret access key. This field is not returned in RPC responses.
       },
@@ -463,7 +463,7 @@
       &quot;status&quot;: &quot;A String&quot;, # Status of the job. This value MUST be specified for `CreateTransferJobRequests`. **Note:** The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.
       &quot;transferSpec&quot;: { # Configuration for running a transfer. # Transfer specification.
         &quot;awsS3DataSource&quot;: { # An AwsS3Data resource can be a data source, but not a data sink. In an AwsS3Data resource, an object&#x27;s name is the S3 object&#x27;s key name. # An AWS S3 data source.
-          &quot;awsAccessKey&quot;: { # AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Required. Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
+          &quot;awsAccessKey&quot;: { # AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
             &quot;accessKeyId&quot;: &quot;A String&quot;, # Required. AWS access key ID.
             &quot;secretAccessKey&quot;: &quot;A String&quot;, # Required. AWS secret access key. This field is not returned in RPC responses.
           },
@@ -580,7 +580,7 @@
     &quot;status&quot;: &quot;A String&quot;, # Status of the job. This value MUST be specified for `CreateTransferJobRequests`. **Note:** The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.
     &quot;transferSpec&quot;: { # Configuration for running a transfer. # Transfer specification.
       &quot;awsS3DataSource&quot;: { # An AwsS3Data resource can be a data source, but not a data sink. In an AwsS3Data resource, an object&#x27;s name is the S3 object&#x27;s key name. # An AWS S3 data source.
-        &quot;awsAccessKey&quot;: { # AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Required. Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
+        &quot;awsAccessKey&quot;: { # AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
           &quot;accessKeyId&quot;: &quot;A String&quot;, # Required. AWS access key ID.
           &quot;secretAccessKey&quot;: &quot;A String&quot;, # Required. AWS secret access key. This field is not returned in RPC responses.
         },
@@ -679,7 +679,7 @@
   &quot;status&quot;: &quot;A String&quot;, # Status of the job. This value MUST be specified for `CreateTransferJobRequests`. **Note:** The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from ENABLED to DISABLED, and an operation spawned by the transfer is running, the status change would not affect the current operation.
   &quot;transferSpec&quot;: { # Configuration for running a transfer. # Transfer specification.
     &quot;awsS3DataSource&quot;: { # An AwsS3Data resource can be a data source, but not a data sink. In an AwsS3Data resource, an object&#x27;s name is the S3 object&#x27;s key name. # An AWS S3 data source.
-      &quot;awsAccessKey&quot;: { # AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Required. Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
+      &quot;awsAccessKey&quot;: { # AWS access key (see [AWS Security Credentials](https://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)). For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials). # Input only. AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. For information on our data retention policy for user credentials, see [User credentials](/storage-transfer/docs/data-retention#user-credentials).
         &quot;accessKeyId&quot;: &quot;A String&quot;, # Required. AWS access key ID.
         &quot;secretAccessKey&quot;: &quot;A String&quot;, # Required. AWS secret access key. This field is not returned in RPC responses.
       },